Aby odpowiedzieć bezpośrednio na twoje pytanie - nie, nie uważam, że któryś z nich jest anty-wzorem, gdy jest właściwie stosowany.
--- Więcej pełnych odpowiedzi ---
Z mojego doświadczenia wynika, że zależy to w dużej mierze od celu twojego testu. Oto ogólna zasada, z której korzystałem w przeszłości i pomogła mi zdecydować:
Czy faktycznie testujesz małą jednostkę kodu? (Prawdziwy test jednostkowy)
Jeśli tak, to stwierdziłem, że znacznie łatwiej jest utworzyć dane w samym teście, ponieważ dokładnie widzę, co jest przekazywane. W takich przypadkach zwykle szukam biblioteki podobnej do Jasmine , ponieważ znajduję to ułatwia tworzenie i utrzymywanie danych testowych. Jest to jednak osobista preferencja - używaj tego, co ułatwia pracę.
Jeśli nie, prawdopodobnie faktycznie testujesz sam system. W takich przypadkach często ładuję dane ze źródła zewnętrznego, a powodem tego są:
- Ten test nie dotyczy klarowności kodu dla programistów (chociaż jest to nadal ważne - ktoś musi to utrzymywać), polega na przepuszczeniu wystarczającej liczby różnych typów danych przez całą część systemu, aby mieć pewność, że działa.
- Często napiszę kod instalacyjny, aby załadować i wykorzystać dane testowe, ale same dane są tworzone przez kogoś innego (zwykle w moim przypadku pracownika QA). Ci ludzie zwykle nie są programistami, więc nie mogę oczekiwać, że będą edytować kod.
Tak krótka odpowiedź, zależy od tego, co testujesz i dlaczego. Oba podejścia są przydatne i mają swoje miejsce - wybierz to, co najlepiej pasuje do twojej sytuacji.