2009-02-23 116 views
2

我正在研究一个使用MSTest进行单元测试的项目,并且需要为与数据源相当紧密耦合的模型类编写一些单元测试。我们维护模型类在数据库项目(.dbproj)中依赖的数据库的源代码。我正在考虑的是在我的测试类上编写一个ClassInitialize方法,该方法使用数据库项目以编程方式构建数据库的SQL CE实例,然后我可以使用数据将我的模型类连接到并对其执行测试与已知的数据。使用MSTest进行数据驱动的单元测试

我接受其他建议,如果任何人有他们。

我想弄清楚如何做的是从我的ClassInitialize方法的代码中运行此数据库项目。我一直无法找到任何如何做这样的事情的好例子。这可能吗?如果是这样,怎么样?任何人都有代码示例?谢谢。

回答

2

不幸的是,单元测试数据层是非常困难的。我可以建议的最好方法是为数据层构建一个通用接口,并模拟将业务层调用到数据层中的接口。

如果您尝试单元测试您的数据层,您将面临一个痛苦的世界。我建议你跳过它并尝试在集成测试期间清除任何数据层错误。这就是说,如果你使用的是LINQ to SQL,那么在前一天我碰到了this article,它展示了如何模拟LINQ to SQL存储库。它需要一些额外的工作才能使它起作用,但它可能对你有用。

0

也许你应该看看嘲弄 - moq是一个很好的开始。基本上嘲笑是有一个框架,将模拟代码中的依赖关系,以帮助测试。

0

我同意关于模拟的评论,但你仍然可以进行自动化集成测试来像存储类一样来执行存储库中的方法。

我做了一个非常详细的描述我使用的技术(w/MS Test)here

相关问题