0

テストに対するトップダウンおよびボトムアップのアプローチに関して、スタブとドライバーの実用的な例が必要です。ここではコードは必要ありません。シナリオベースの例です。

4

1 に答える 1

0

ドライバーは、クラスのインターフェイス (メソッド、プロパティ、コンストラクターなど) をテストする一連のテストです。

スタブは、データベースやロガーなどの他の機能の代役として機能する偽のオブジェクトです。

モックは、アサートを含む偽のオブジェクトです。

以下は、モック オブジェクトを使用したテストの例です。アサートを取り出すと、スタブになります。これらの種類のテストは、オブジェクトのメソッドとプロパティを実行するため、総称してドライバーです。

次に例を示します。

[Test]
public void TestGetSinglePersonWithValidId()
{
    // Tell that mock object when the "GetPerson" method is called to 
    // return a predefined Person
    personRepositoryMock.ExpectAndReturn("GetPersonById", onePerson, "1");
    PersonService service = new PersonService(
        (IPersonRepository) personRepositoryMock.MockInstance);
    Person p = service.GetPerson("1");
    Assert.IsNotNull(p);
    Assert.AreEqual(p.Id, "1");
}

http://www.zorched.net/2007/03/10/mocking-net-objects-with-nunit/

于 2009-11-25T07:47:34.663 に答える