【发布时间】:2014-07-09 15:54:49
【问题描述】:
我们正在使用 TDD 和 DI 方法以及 NSubstitute 创建一个 C# 应用程序。
我们正在编写一个CreateThing 方法:
-
name和description字符串作为参数 - 创建一个新的
Thing对象 - 从方法参数中设置
Thing的Name和Description属性 - 将
Status设置为Active - 将
Thing传递给另一个类的方法(通过构造函数注入)以进行进一步处理
我们知道如何使用Substitute.For 和.Received() 编写对另一个类的调用的测试。
我们如何为正在设置的Thing 属性编写测试?
【问题讨论】:
-
nsubstitute.github.io/help/received-calls section "检查对属性的调用"
-
通话前后断言
-
@WiktorZychla - Thing 在方法内部实例化,因此在测试中不可访问
-
如果是这样,那么您在创建具体实例时没有遵循 DI,而不是注入它以便注入模拟。
-
但是
Thing是一个 POCO,我们的 create 方法接受创建 POCO 所需的值...为什么/如何注入这个?
标签: c# dependency-injection tdd nsubstitute