In generale, è preferibile impostare l'apparecchiatura tramite l'API pubblica. Se questo non è il caso, è accettabile anche l'accesso diretto a db come backdoor di test. In alternativa, possiamo anche usare Apparecchio precostruito , ci sono molti modi per farlo come sql popolamento, data pump, ecc. Tutte queste configurazioni delle fixture hanno la stessa sfida: l'attrezzatura si abbatte. Teardown automatizzato può aiutarti a configurare e abbattere il caso tramite l'API. In Prebuilt Fixture, forse dovresti usare un meccanismo di flashback del database.
Un altro pensiero è che, sebbene nella tua domanda, tu pensi che il test di integrazione debba avvenire attraverso il database. Tuttavia, non è sempre necessario il caso. A causa della difficoltà di installazione e rimozione, dovremmo sempre provare a umiliarlo . Se il tuo codice ha già un pattern di repository, puoi semplicemente implementare una mappa hash in memoria per l'archivio dati. La bellezza di ciò è che puoi fare affidamento su Teardown raccolto in modo irregolare . In caso contrario, prova a utilizzare il database in memoria, quindi non è necessario pulire i dati creati dai test.