有人可以提供存根和驱动程序的实际示例吗?

时间:2009-11-25 07:38:00

标签: testing integration integration-testing topdown bottom-up

我需要一些关于自上而下和自下而上测试方法的存根和驱动程序的实际示例。我这里不需要代码。只是基于场景的例子。

1 个答案:

答案 0 :(得分: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/