4

アクトデータの抽出をどこに書くべきか「AAA」パターンで?
Act または Assert セクションで?

2 人の人物の抽出であるこの単体テストを考えてみます。社内のすべてのUTの基準にしたい。

[Test]
public void Test()
{
    // Arrange
    var p1 = new Person();
    var p2 = new Person();
    Session.Save(p1);
    Session.Save(p2);

    // Act
    var result = new PersonQuery().GetAll();
    var firstPerson = result[0];
    var secondPerson = result[1];

    // Assert
    Assert.AreEqual(p1.Id, firstPerson.Id);
    Assert.AreEqual(p2.Id, secondPerson.Id);        
}

(この単純なテストでは、私が書くことができることを無視してくださいAssert.AreEqual(p1.Id, result[0].Id);)
それが大きな問題ではないことはわかっていますが、最善の方法を知りたいと思っています。

4

2 に答える 2

1

経験則によって異なります。Act ステージは、テスト中のビジネス ロジックの実行を表します。あなたの場合、抽出がビジネス ロジックに影響を与えるかどうかによって異なります。result[i]インデクサーが単純なコレクション アイテム アクセサーである場合は、変数にActデータを既に抽出しているためではありません。resultAct

于 2012-01-03T16:41:08.230 に答える