Implementation of the sequential test mechanism - [merged]
Created by: benoitdm-oslandia
In GitLab by @lowzonenose on Oct 12, 2022, 17:05
Merges feature/sequential_tests -> develop
Ref #48 (closed) : Implémentation du mécanisme de tests séquentiels (ordre d’exécution) pour le mode db et mock
Structure d'un fichier Runner :
package db_test
type DbTests struct {
Test *testing.T
}
func TestMain(m *testing.M) {
// some stuff...
}
func TestRunnerHandlerDb(t *testing.T) {
// initialisation avant l'execution des tests
beforeRun()
// liste de tests sur la suppression des features
t.Run("DELETE", func(t *testing.T) {
beforeEachRun()
test := DbTests{Test: t}
test.TestDeleteFeatureDb()
afterEachRun()
})
// nettoyage après execution des tests
afterRun()
}
Ex. d'une fonction de test :
func (t *DbTests) TestDeleteFeatureDb() {
// some stuff...
}
Autre ex. de fonction de test :
func (t *DbTests) TestDeleteFeatureDb() {
t.Test.Run("TestDeleteFeatureDb", func(t *testing.T) {
// some stuff...
})
}
Il est toujours possible d'ajouter des tests classiques sans passer par un runner.
Comment lancer les tests ?
- tous les mocks
$ go test -run ^TestRunnerHandlerMock$ github.com/CrunchyData/pg_featureserv/internal/service/mock_test
- un groupe
$ go test -run ^TestRunnerHandlerMock/DELETE$ github.com/CrunchyData/pg_featureserv/internal/service/mock_test
- un test
$ go test -run ^TestRunnerHandlerMock/DELETE/TestDeleteExistingFeature$ github.com/CrunchyData/pg_featureserv/internal/service/mock_test