我对Mocking和假对象有基本的了解,并传递了单元测试用例方法的伪数据。但我们是否有可能使用我们的存储库返回实际数据,而不是将我们自己的假数据创建到我们的单元测试方法。
我正在使用NUnit作为.Net MVC 5应用程序。如下面的示例代码行所示:
mockType.Setup(x=>x.GetUserDetails().Returns(
new UserDetail(){ id = 1 , name = "John"}
);
所以我需要返回方法GetUserDetails的实际数据返回,而不是创建假数据(正如我们在上面的例子中所做的那样)。
我需要从DB表中获取用户详细信息,而不是像上面的示例中那样创建假的UserDetail。如果您需要更多信息,请提出您的建议并告诉我。
提前致谢。
答案 0 :(得分:0)
测试哪些访问应用程序的其他层称为"集成测试"或"验收测试"如果你测试完整的"管道"您的应用程序UI - >数据库 - > UI。
在您的特定情况下,您需要具有与生产中使用的完全相同的模式的空数据库。
在每次测试之后访问真实数据库,插入数据,清理数据库会使测试变得更慢 - 变慢是可以进行集成或验收测试。
为了使测试和生产数据库架构保持同步,您应该选择一些维护脚本/物流。