15

有办法吗?每次开始测试时我都必须等待构建吗?我想从视觉工作室而不是从测试构建

谢谢

4

3 回答 3

12

每当您的代码更改并运行测试时,它都会进行构建...因此从技术上讲,您可以一遍又一遍地运行测试,它们只会在第一次构建,但是一旦运行测试,为什么要运行在不更改代码的情况下再次使用它们?

我使用的使您的测试运行更快的几件事是:

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

  2. 学习快捷键
    a. "Ctrl+R, T" 在当前上下文中运行测试,所以如果你的光标在一个测试方法中,它只会运行那个测试,但是当你在一个非测试类中执行它时,它会运行你的所有测试。
    湾。"Crtl+R, Ctrl+T" 除调试外,调试测试相同。
    C。其他的可以在这里找到,那些是2008年的,如果你需要参考其他的,你可以通过谷歌找到它们。

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

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

编辑:如果您想构建而不是从测试中再次阅读您的问题,您可以转到菜单并单击构建->构建解决方案或按 F6。如果您指出您使用的是哪个版本的 Visual Studio,这也会很有帮助,因为 2010 在您必须单击刷新的意义上是不同的。无论哪种方式,您都可以澄清吗?

于 2010-09-23T18:53:44.653 回答
2

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

如果您已经编译了项目,那么您可以在不编译的情况下多次运行测试。

PS:我使用TestDriven.NET运行 MSTest ,因为它更快。

于 2010-09-24T05:59:43.137 回答
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

于 2017-07-19T18:22:42.000 回答