Sch*_*ime 5 c# tdd unit-testing
我该如何测试以下方法?
它是接口的具体类实现的方法.
我Process用一个只暴露我需要的方法和属性的接口包装了类.本ProcessWrapper类是具体实现这个接口.
public void Initiate(IEnumerable<Cow> cows)
{
foreach (Cow c in cows)
{
c.Process = new ProcessWrapper(c);
c.Process.Start();
count++;
}
}
Run Code Online (Sandbox Code Playgroud)
有两种方法可以解决这个问题。第一种是使用依赖注入。您可以注入一个工厂并调用创建方法来获取测试所需的Initiate()类型。ProcessWrapper
另一个解决方案是使用模拟框架(例如 TypeMock),它可以让您解决这个问题。TypeMock 基本上允许您模拟任何内容,因此您可以使用它来提供模拟对象而不是实际的 ProcessWrapper 实例。