【发布时间】:2012-03-30 17:59:00
【问题描述】:
我正在使用 Pex 和 Moles 进行低级单元测试,但我也在探索 MSpec 进行业务逻辑验证,并希望继续使用 Moles 以保持一致性。我认为问题在于 MSPec 使用匿名方法,因此无法应用 HostType("Moles") 属性。例如:
Because of = () =>
employeeList = EmployeeManager.GetUsersByRoles(rolesToLoad);
It should_return_a_list_of_employees = () =>
employeeList.ShouldNotBeNull();
我正在模拟“GetUsersByRoles”中调用的角色提供程序,当我尝试通过 MSpec 运行此测试时,我收到标准的“Moles 要求测试在检测过程中”错误,并指示添加 [ HostType("Moles")] 到我的测试方法。这里有任何解决方法或其他选项吗?
旁注:我已经下载了 MSMSpec.tt 并对其进行了修改以包含生成的 VSTests 上的属性,但我希望能够通过它自己的运行程序或 TestDriven.net 直接运行 MSpec 测试,这样我就可以得到为 BA 和企业主提供友好的输出。
【问题讨论】: