Desidero creare alcune specifiche che interagiscono con il database.Come eseguire le specifiche in sequenza
class DocumentSpec extends mutable.Specification with BeforeAfterExample {
sequential
def before() = {createDB()}
def after() = {dropDB()}
// examples
// ...
}
Il database viene creato e rilasciato prima e dopo ogni esempio (che viene eseguito in sequenza). Everithing funziona come previsto finché non esiste una sola specifica che funzioni con il database. Poiché le specifiche sono eseguite in parallelo, interferiscono e falliscono.
Spero di essere in grado di evitarlo istruendo le specifiche2 per eseguire i test con gli effetti collaterali sequenzialmente mantenendo i test senza effetti collaterali da eseguire in parallelo. È possibile?
Sì, sto usando SBT. Ma non è naturale specificare le impostazioni della suite di test all'interno dello script di costruzione. Inoltre, "parallelExecution in Test: = false" garantisce che tutti i test vengano eseguiti in modo sequenziale mentre è necessario "eseguire i test con gli effetti collaterali sequenzialmente mantenendo i test senza effetti collaterali da eseguire in parallelo". Forse usare il db separato per ogni test db sarebbe una soluzione. – Jeriho
O più semplice, metti i test in un progetto distinto e ridefinisci 'parallelExecution' solo per questo progetto. –