Utilisation du modèle Arrange Act Assert avec les tests d'intégration
-
13-11-2019 - |
Question
À l'aide d'Arrange Act, affirmez ce qui devrait contenir la « section » Arrange étant donné qu'il s'agit d'un test d'intégration sur ma base de données ?
private void Delete_Release_Test_Data(string conString)
{
UnitTestHelper.PrepareData(new[] { "ReleaseId" }, new object[] { 100 });
UnitTestHelper.InsertPreparedData(conString, RELEASE_TABLE);
}
[Test]
public void Delete_Release(string conString)
{
Delete_Release_Test_Data(conString);
// ARRANGE
// What should I put here ???
// ACT
IReleaseDataProvider provider = new ReleaseDataProvider();
provider.DeleteRelease(100);
// ASSERT
Assert.IsTrue(UnitTestHelper.HasNoData(conString, string.Format("SELECT * FROM {0}", RELEASE_TABLE)));
}
La solution
Y a-t-il une raison spécifique pour laquelle la première ligne Delete_Release_Test_Data(conString)
n'est-il pas sous-organisé ?Depuis ce lien sur Arrange Act Affirmer :
Chaque méthode doit regrouper ces sections fonctionnelles, séparées par des lignes vides :
- Organiser toutes les conditions préalables et les apports nécessaires.
- Acte sur l'objet ou la méthode testée.
- Affirmer que les résultats attendus se sont produits.
L'insertion de données de test valides est une condition préalable à ce test, ce qui signifie qu'elles doivent être placées dans la section Organiser.
Note:Vous pouvez également renommer ce test en Delete_Release_When_Exists
puis créez également un test Delete_Release_When_Doesnt_Exist
pour vérifier que l'exception correcte est levée ou que la valeur de retour est correcte.