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

问题描述:

我需要关于自顶向下和自底向上的测试方法的存根和驱动程序的一些实际示例。这里我不需要代码。只是基于场景的例子。有人可以提供存根和驱动程序的实际例子吗?

驱动程序是一组测试,它测试你的类的接口(方法,属性,构造函数等)。

存根是一个假对象,可用作数据库或记录器等其他功能的替身。

一个模拟是一个虚假的对象,它已经断言。

以下是使用模拟对象进行测试的示例。如果你拿出断言,它就成了一个存根。总的来说,这些类型的测试是驱动程序,因为它们会执行对象的方法和属性。

这里是例子:

[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/

+0

能否请你支持与一些实际的例子你的答案? – Aditya 2009-11-25 07:50:25