Domanda

Qui è la mia situazione.

Prima che i miei test vengono eseguiti, nel beforesuite, ho un'istanza di un gruppo di "Ambiente Oggetti" Questi oggetti vengono creati sulla base sul mio file di configurazione dell'ambiente. E 'il mio test che sarà effettivamente utilizzando questi oggetti ambiente. Il problema è come posso passare alle prove.

Il tuo primo impulso potrebbe essere quella di utilizzare un fornitore di dati, che passerà gli oggetti corretti alla prova. Il problema è che il provider di dati dovrà sapere come fare riferimento agli oggetti corretti e poi passare. Allo stato attuale gli oggetti dell'ambiente possono essere indicati solo per nome (stringa -> oggetto)

L'altra opzione è quella di superare il metodo di prova una stringa che si riferisce agli oggetti corretti. Ma questo ha lo stesso problema di cui sopra.

Entrambe queste opzioni creare un sacco di dipendenze e problemi. Devo anche fare un sacco di ipotesi circa il tipo la chiave si riferisce a.

La maggior parte di questo problema deriva dal fatto che ho abusare TestNG. Che cosa ho veramente bisogno è il mio proprio controllore che può istanziare il mio oggetto di prova durante il passaggio degli oggetti ambiente appropriate.

Cercavo nell'interfaccia TestRunner di TestNG, ma non sono sicuro se questo avrebbe funzionato.

Qualsiasi aiuto apprezzato. Eric

È stato utile?

Soluzione

Perché non usare un mix di @Factory e @DataProvider?

La fabbrica avrà il compito di creare le istanze di test e passando loro i parametri corretti: o stringhe (nel qual caso il provider di dati può quindi trasformare queste stringhe in oggetti) o direttamente gli oggetti, nel qual caso i test possono utilizzare questi valori direttamente.

Sentitevi liberi di inviare un certo codice se questo non aiuta a risolvere il problema.

- Cedric

Altri suggerimenti

ho avuto una situazione simile e finito per usare le proprietà java invece.

È possibile utilizzare la proprietà nel codice come questo e passare le variabili al vostro JVM con il -Dmyproperty.value = ciao. L'ho usato per cose come percorso dell'ambiente, servizio di url, importo timeout, ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top