1

これが私のデータベースの統合テストであることを考慮して、Arrange Act Assert を使用すると、Arrange "セクション" に何を含める必要がありますか?

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)));
        }
4

1 に答える 1

8

Delete_Release_Test_Data(conString)最初の行が手配されていない特定の理由はありますか? Arrange Act Assert のこのリンクから:

各メソッドは、空白行で区切られたこれらの機能セクションをグループ化する必要があります。

  1. 必要なすべての前提条件と入力を配置します
  2. テスト中のオブジェクトまたはメソッドに作用します。
  3. 期待される結果が発生したことを表明します。

有効なテスト データを挿入することは、このテストの前提条件です。つまり、配置セクションの下に配置する必要があります。

: このテストの名前を に変更してから、正しい例外がスローされるか、戻り値が正しいことを確認するDelete_Release_When_Existsテストを作成することもできます。Delete_Release_When_Doesnt_Exist

于 2012-02-27T20:24:44.260 に答える