【问题标题】:run tests in mstest without compiling/building在 mstest 中运行测试而不编译/构建
【发布时间】:2009-04-06 06:53:59
【问题描述】:

有办法吗?每次开始测试时我都必须等待构建吗?我想从 Visual Studio 构建而不是从测试构建

谢谢

【问题讨论】:

  • 我不确定你在问什么。 Visual Studio 总是必须在运行单元测试之前编译您的代码,因为您的测试实际上只是 .NET IL,就像您的应用程序代码一样。
  • 如果我编译我的代码然后运行测试 1,2,3,4 次会怎样......每次 MSTEST 再次构建我的代码......我不想要那个,我想要我的测试尽可能地提高速度......在堆栈上的某个地方我认为 nUnint 可以做到这一点......
  • 我也突然遇到了这个问题。
  • Marko.. 我也有同样的问题
  • 这个问题真的很难搜索,因为大多数结果都是关于在构建过程中添加测试的。我们工作的项目最近开始重建,每次我运行测试没有代码更改,所以我会四处打听,看看是否有人知道发生了什么。

标签: mstest


【解决方案1】:

任何时候您的代码发生更改并且您运行测试时,它都会进行构建...所以从技术上讲,您可以一遍又一遍地运行您的测试,它们只会构建第一次,但是一旦您运行测试,为什么您会在不更改代码的情况下再次运行它们吗?

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

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

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

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

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

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

【讨论】:

  • 如果您没有预料到会出现错误但出现错误,或者您遇到错误并且您的调试点错过了它,或者类似的情况,您可能会再次运行它们。
  • 这可能是真的...运行一次看到错误,然后调试以逐步执行。我没有想到那种情况。
  • 我使用的是 Visual Studio 2008。
  • 嗯,很奇怪...我现在尝试运行测试,我有一段时间没有使用 MSTest(切换到 NUnit),我可以看到不是每次都构建项目,只是一开始。当我手动构建项目然后开始测试时也是如此。但是当我问问题时不是这样吗?这是更新还是什么?...这很奇怪...
【解决方案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

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2017-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 2012-11-30
      相关资源
      最近更新 更多