我们正在使用NUnit定义自动化性能测试。但是,由于其中许多将运行一段时间,以满足系统的时序和负载的不准确性,我们不希望开发人员必须在正常开发下运行这些。
我们有什么方法可以指示TestDriven Visual Studio插件忽略一组单元测试,这样如果程序员只需右键单击单元测试项目并选择“Run Tests”,那么这些测试就不会被执行?
默认情况下,默认情况下忽略测试的唯一方法是通过[Explicit]
属性,但这意味着我在测试服务器上会产生维护开销,因为似乎没有办法执行所有明确的测试一下子都没有命名。
或者我应该将所有性能测试分离到单独的项目中,并指示程序员不要管它(至少在他们需要更新测试之前)?
答案 0 :(得分:1)
我会创建一个单独的测试程序集。然后,您可以在一次装配中进行正常的单元测试,在第二次装配中进行性能测试。
这样,在开发时,开发人员从不运行perf测试。在构建时,您可以执行两个测试程序集,以确保Unit&运行Perf测试。
我这样做不仅仅是为了让一些测试不必运行,而是可以更好地区分该组件中的内容。这个新的程序集不是一组“单元”测试。当你带上新的开发者时,对你们如何编写测试没有任何困惑。你不会想要一个新人看着一个性能测试并且想到如何编写单元测试。
至于具体问题,请让TestDriven避免运行性能测试,检查“工具 - >选项”下的设置对话框:
答案 1 :(得分:0)
[ignore]属性怎么样?也许我是误会,但听起来像这样会对你有所帮助??