在mstest中运行测试而不编译/构建

时间:2009-04-06 06:54:00

标签: mstest

有办法吗?每次开始测试时我都要等待建设吗?我想从visual studio构建而不是从test

构建

感谢

3 个答案:

答案 0 :(得分:10)

每当你的代码发生变化并运行你的测试时,它就会进行构建...所以从技术上讲,你可以反复运行测试,它们只会在第一次构建,但是一旦你运行测试,为什么如果不进行代码更改,你会再次运行它们吗?

我使用的一些使您的测试运行更快的事情是:

  1. 选中“仅在运行时构建启动项目和依赖项”复选框,位于选项 - >项目和解决方案 - >构建并运行。

  2. 了解快捷键
    一个。 “Ctrl + R,T”在当前上下文中运行测试,因此如果您的光标位于测试方法内部,它将仅运行该测试,但是当您在非测试类中执行时,它将运行您的所有测试。
    湾“Crtl + R,Ctrl + T”除调试外,调试测试相同。
    c。其他人可以找到here,如果您需要引用其他人,可以通过谷歌找到其他人。{/ p>

  3. 确保您的测试没有调用数据库或其他时间密集型资源,请使用模拟和存根。

  4. 只运行一小组测试,即如果我在服务类中工作,我只运行服务类测试。

  5. 编辑:如果您想要构建而不是从测试中再次阅读您的问题,您只需转到菜单并单击Build-> Build Solution或按F6。如果你指出你正在使用哪个版本的visual studio会有所帮助,因为2010年你必须点击刷新才有所不同。无论哪种方式,你都能澄清一下吗?

答案 1 :(得分:2)

对源代码的任何更改都会导致编译,因为为了运行测试,VS需要最新的DLL测试。

如果您已经编译了项目,那么您可以多次运行测试而无需编译。

PS:我使用TestDriven.NET运行MSTest,对我来说速度更快。

答案 2 :(得分:2)

这是一个老问题,但我一直看到人们问它,VS2017中的问题仍然存在,而且从VS内部运行的其他测试框架(Xunit等)也是如此。

我不知道如何让VS一直停止建设。但我确实知道如何规避编译 - 从控制台运行程序运行测试,而不是从VS内运行。如果你正在使用ReSharper,它就有一个。

如果您没有使用ReSharper,对于MSTest,您可以从这里开始。 https://msdn.microsoft.com/en-us/library/ms182489.aspx

如果您没有使用ReSharper,对于XUnit,您可以从这里开始。 https://xunit.github.io/docs/getting-started-desktop.html#add-xunit-runner-ref

相关问题