【发布时间】:2017-11-25 11:45:00
【问题描述】:
我将把问题简化一点:
在我的测试中,我使用了一个模拟对象(我模拟了它,因为它调用了一个 bdd),我将参数提供给另一个对象(未模拟)的方法,其目的是修改这个模拟对象的属性。
ModifyingClass myModifyingClass = new ModifyingClass();
Mock<ToModifyClass> mockedClass = new Mock<ToModifyClass>();
mockedClass.Setup(mc => mc.name).Returns("Test1");
myModifyingClass.modify(mockedClass.Object);
方法modify然后尝试设置模拟对象的属性名称,但它不起作用,所以也许这是正常行为但我真的需要测试所有这些是否有效以及方法@987654324是否有效@根据需要设置属性。
【问题讨论】:
-
运行测试时会发生什么?错误发生在哪里?
-
这是什么模拟库?无论如何,如果您想像使用真实属性一样使用该属性,则不应对该属性进行存根 - 具体操作方式取决于库。
-
贾尼斯。 S.我调试测试没有错误发生,只是属性没有被修改。
-
你怎么知道它没有被修改,你有断言语句吗?
-
请看这里:stackoverflow.com/questions/16816551/…,您需要调用 SetupAllProperties()
标签: c# unit-testing mocking moq