Domanda

Usando l'operazione Act Assert Cosa dovrebbe essere nella sezione Organizzazione "considerando che si tratta di un test di integrazione sul mio database?

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)));
        }
È stato utile?

Soluzione

C'è un motivo specifico per cui la prima riga Delete_Release_Test_Data(conString) Non è sotto organizzare? Da questo link On Orgy Act Assert:

Ogni metodo dovrebbe raggruppare queste sezioni funzionali, separate da linee vuote:

  1. Organizzare Tutte le condizioni preliminari e gli input necessari.
  2. Atto sull'oggetto o sul metodo in esame.
  3. Asserire che si sono verificati i risultati previsti.

L'inserimento di dati di test validi è un presupposto di questo test, il che significa che dovrebbe essere posizionato nella sezione Organizzazione.

Nota: Puoi anche rinominare questo test a Delete_Release_When_Exists e poi crea anche un test Delete_Release_When_Doesnt_Exist Per verificare che l'eccezione corretta viene lanciata o il valore di restituzione è corretto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top