使用Pex测试框架的自定义对象

时间:2011-08-24 06:46:57

标签: pex

我正在尝试使用Pex和Moles测试框架来测试我的项目。

我对使用Pex进行参数化测试一无所知。

void SampleMethod(Employee emp)
{
/// Some business logic
}
void SampleMethod(List<Employee> emps)
{
/// Some business logic
}

如何测试这些方法?

由于 Ashwani

1 个答案:

答案 0 :(得分:0)

Pex将为您生成测试,Moles将提供存根。

e.g。

[TestMethod]
[PexGeneratedBy(typeof(ProgramTest))]
public void someTest()
{
    SCustomer sCustomer = new SCustomer();
    int i;
    i = this.DoSomething((Customer)sCustomer);
    Assert.AreEqual<int>(0, i);
}

这里的“S”表示“Stub”并且是您的依赖类的模拟对象,在您的情况下为“Employee”或“SEmployee”。 Moles根据接口(在您的情况下为IEmployee)进行存根。

然后,您可以使用匿名委托来隐藏行为:

customer.GetFirstName = () => "Charlie"; 

这有帮助吗?