Al momento ho una situazione interessante che si verifica con il mio codice, e dopo aver violato quello che si è rivelato un vicolo cieco nelle ultime due settimane, sto qui chiedendo a quelli più intelligenti di me di educarmi su dove sono andato storto e come posso eseguire correttamente l'attività prevista.
Impostazione:
Abbiamo un set di classi che svolgono varie attività, ma lo fanno su un oggetto che passano intorno. Le azioni vengono eseguite su questo oggetto in ogni classe prima di essere infine elaborate e quindi inviate al livello di visualizzazione per l'elaborazione front-end. Questa è una breve descrizione di come funziona il processo.
Una raccolta di utenti viene inviata tramite il modulo front-end La raccolta di utenti viene elaborata in un oggetto con vari parametri impostati all'interno. Le classi multiple con vari metodi che elaborano l'oggetto appena creato vengono eseguite una alla volta. In ogni classe, l'oggetto ha vari metodi che eseguono attività su determinate azioni, come formule, convalida, ecc. l'oggetto viene quindi inviato al front-end per la visualizzazione dell'oggetto elaborato.
L'attività:
Sto tentando di creare test JUnit per automatizzare i test per questo gruppo di classi. Questo è come ho configurato
testConfiguration - Invece di inviare un modulo, creo una raccolta di utenti in varie configurazioni in base a ciò che dobbiamo fare per testare
testMain - Questa è la classe "root". Richiede una configurazione dalla classe testConfiguration necessaria per l'esecuzione di test corrente, la crea in un oggetto con vari parametri basati sugli utenti passati e quindi passata nelle varie classi per l'ulteriore elaborazione
testClassesProcess - varie classi che prendono l'oggetto elaborato da testMain, eseguono varie azioni su di esso (principalmente metodi di tipo matematico) e quindi restituiscono.
I problemi:
Ran in pochi davvero. Il primo è che non è possibile passare i parametri alle funzioni nei test di JUnit, poiché verrà visualizzato initializeErrors. Anche l'annotazione @Autowired nelle classi in fase di test ha generato un errore con NullPointerException
, si scopre che se inserisci le classi testate dalla suite JUnit, e non riesco a risolvere la variabile che verrebbe utilizzata senza alcun problema quando eseguita tramite l'applicazione normalmente.
Attualmente utilizziamo Java 1.7 con Hibernate, Spring e JUnit per contribuire a dare una visuale del nostro stack.
Quindi mi chiedo se, dopo aver descritto la mia situazione, sto cercando di fare in modo che JUnit metta un piolo rotondo in un buco quadrato, se sto usando JUnit errato, o se c'è una soluzione migliore che potrei usare per testare questa configurazione.
EDIT: Le mie scuse se questo sembra vago. È un problema sul posto di lavoro, quindi cerco di non rivelare nulla di proprietario e di farlo in modo che altri possano identificarlo.