Per rispondere direttamente alla tua domanda - no, non credo che sia un anti-pattern se usato correttamente.
--- Risposta più dettagliata ---
Dalla mia esperienza, penso che questo dipenda molto dall'obiettivo del test. Ecco la regola generale che ho usato in passato e mi ha aiutato a decidere:
In realtà stai testando una piccola unità di codice? (Un vero test unitario)
Se sì, ho scoperto che è molto più facile creare i dati all'interno del test stesso esattamente perché posso vedere cosa viene passato. In questi casi, cercherò di solito un Jasmine -come libreria da usare perché trovo che faciliti la creazione e la manutenzione dei dati di test. Questa è una preferenza personale, però: usa ciò che ti semplifica il lavoro.
Se no, probabilmente stai testando il sistema stesso. In questi casi, carico spesso i dati da una fonte esterna, i motivi sono:
- Questo test non riguarda la chiarezza del codice per i programmatori (anche se è ancora importante - qualcuno deve mantenerlo), si tratta di eseguire abbastanza tipi diversi di dati attraverso l'intero blocco del sistema per essere ragionevolmente sicuri che funzioni.
- Spesso scriverò il codice idraulico per caricare e utilizzare i dati di test, ma i dati stessi sono creati da qualcun altro (di solito un membro del personale di QA nel mio caso). Queste persone non sono di solito programmatori quindi non posso aspettarmi che stiano modificando il codice.
Risposta così lunga, dipende da cosa stai provando e perché. Entrambi gli approcci sono utili e hanno il loro posto - scegli ciò che funziona meglio per la tua situazione.