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)));
        }
Était-ce utile?

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 :

  1. Organiser toutes les conditions préalables et les apports nécessaires.
  2. Acte sur l'objet ou la méthode testée.
  3. 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top