I libri di programmazione di solito predicano per testare un solo metodo in un test unitario. Questo dovrebbe mantenere i test indipendenti l'uno dall'altro e ridurre la quantità di lavoro necessaria per riscrivere i test se una particolare parte del sistema cambia.
Ma per quanto riguarda le chiamate per impostare l'oggetto in prova?
@Test
public void testMethod_someState_someExpectation() {
MyObject obj = new MyObject();
obj.setSomeStuff();
obj.doSomeStuffToGetIntoTheSpecifiedState();
Test.assertEqual(obj.testMethod(), someValue);
}
La maggior parte dei miei test unitari assomiglia a questo, perché il mio oggetto in prova potrebbe trovarsi in molti stati diversi quando chiami il mio testMethod () e vorrei testarlo come si comporta. E credo che la maggior parte del codice orientato agli oggetti non sia costituito da pure funzioni.
Questi tipi di test sono considerati automaticamente test di integrazione, o questo tipo di installazione è normale per il test dell'unità?