2010-04-13 119 views
1

有没有关于如何使用Visual Studio 2008单元测试开发的指导?我正在开发一个使用实体框架的n层Web应用程序。我的问题是为INSERT或UPDATE到数据库的方法创建单元测试。Visual Studio 2008单元测试指南

回答

1

不要创建单元测试来测试,如果你是INSERTINGDELETING或做任何事情到数据库。根本没有必要。例如,如果您使用的是ADO.NET或ORM,则此代码已经过测试。你会知道它实际上是在锡上说的。

存储在数据库中的测试数据不是单元测试。关于what makes a unit test, a unit test的好问题。对于使用数据库代码(DAL,ORM等)的代码,您将插入mock objects(测试双打),这将允许应用程序的其余部分相信它正在与数据库进行交互,但事实上并非如此。

如果你想确保你的代码实际上正在采取数据并将其存储在一个数据库或外部文件,你需要写integration tests进行检查。一种可能的方法是使用在每个测试夹具上设置的测试数据库和虚拟数据,然后执行测试,然后将数据库擦回原先的状态。这样做的好处是您将拥有针对业务逻辑的单元测试以及集成测试,以确保您正确连接数据库代码。

0

这不是关于您正在使用的工具,而是关于设计的更多信息。

您的问题的解决方案是重新设计您的代码,以便能够使用存根或模拟对象。

另一种选择是确保所有测试代码都在新事务中完成。

如果您曾经开始使用EF 4.0,您可以从IObjectSet class中受益。

相关问题