如何避免重复测试代码

5 testing integration-testing unit-testing

我已经编写了我的单元测试,并且在需要外部资源的地方使用假货进行处理.

到目前为止一切都很好.现在我面临其他测试阶段,主要是集成,我想重复单元测试方法对抗真实的外部资源,例如数据库.

那么,为单元Vs集成测试构建测试项目的建议是什么?我理解有些人更喜欢单元和集成的单独组件?

如何在两个程序集之间共享通用测试代码?我应该创建一个包含所有抽象测试类的thrid程序集,并让单元和集成继承吗?我正在寻找最大的可重用性......

我听到很多关于依赖注入(StructureMap)的噪音,如何在给定的Unit + Integration测试设置中使用这样的工具?

谁能分享一些智慧?谢谢

Ger*_*nck 1

我认为你不应该在物理上将两者分开。一个好的解决方案是将 Microsoft.TeamFoundation.PowerTools.Tasks.CategoryAttribute 置于测试之上,以识别常规测试和集成测试。运行测试时(即使使用 MSBuild),您可以决定仅运行您感兴趣的测试。

或者,您可以将它们放在单独的名称空间中。