2013-01-18 127 views
0

我真的想使用的Visual Studio 2012我怎样才能自动使用mstest?

我想用http://tfs.visualstudio.com,为他们提供一个构建服务器上运行我的测试运行自动化单元测试,实现测试驱动开发

当我上载我的代码,所有的测试,因为他们正在寻找我的数据库失败。

请告诉我为测试自动化最好的做法?

我应该使用的SQL Server Compact或一个真正的数据库?

回答

1

我建议你看看存储库设计模式,以使您的测试独立于您的存储机制。这样你就可以在没有实际数据库的情况下运行你的测试。

存储库设计图案允许之间的存储机构很容易地切换。这样,当代码在生产环境中部署时,您将能够使用真正的数据库,并且您将能够使用模拟或内存存储器进行测试。我鼓励您查看IoC框架以轻松切换不同的存储库。 IOC(控制或依赖倒置反转的)是同时学习TDD,因为它使你的代码更容易测试往往学到的技术。

这将有很多好处:

  • 你的测试将运行得更快,因为你不会需要连接到一个数据库

  • 他们会更容易维护,因为你不会有担心模式,拆卸测试之间的数据库,创建测试数据....

  • 存储库模式将允许您应用一些分离关注在你r代码(请参阅单一职责原则),因为我现在假设您的代码与Sql Server紧密耦合(因为您无法在没有数据库的情况下运行测试)。

  • 您将可以轻松更改存储机制。

TDD的内在目标是鼓励良好的代码设计。我建议你看看SOLID原则的准则和F.I.R.S.T原则有精心设计的单元测试。

+0

>>库设计模式好像解决我的问题。 –