flq*_*flq 12
这里有一个例子:
var extension = MockRepository
.GenerateMock<IContextExtension<StandardContext>>();
var ctx = new StandardContext();
ctx.AddExtension(extension);
extension.AssertWasCalled(
e=>e.Attach(null),
o=>o.Constraints(Is.Equal(ctx)));
Run Code Online (Sandbox Code Playgroud)
您可以看到我明确地测试了IContextExtension的Attach方法被调用,并且输入参数是上述对象.如果没有发生,它会使我的测试失败.
Jus*_*ner 11
您可以手动创建模拟对象并在使用依赖注入框架进行测试期间使用它们......但是让模拟框架为您生成模拟对象可以节省时间.
与往常一样,如果使用框架增加了太多的复杂性,那么就不要使用它.
有时,在使用第三方库,甚至使用.NET框架的某些方面时,在某些情况下编写测试非常困难 - 例如,HttpContext或Sharepoint对象.为那些创建模拟对象会变得非常繁琐,因此模拟框架会处理基础知识,因此我们可以花时间专注于使我们的应用程序独特的原因.
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |