我正在尝试在 .NET 3.5 中设置一个构建后事件,该事件将运行一套带有 MS 测试的单元测试。我发现这篇文章展示了如何使用 MbUnit 调用 bat 文件,但我想看看是否有人用 MS 测试做过这种事情?
如果是这样,我会对 bat 文件的样例感兴趣
我正在尝试在 .NET 3.5 中设置一个构建后事件,该事件将运行一套带有 MS 测试的单元测试。我发现这篇文章展示了如何使用 MbUnit 调用 bat 文件,但我想看看是否有人用 MS 测试做过这种事情?
如果是这样,我会对 bat 文件的样例感兴趣
We were using NUnit in the same style and decided to move to MSTest. When doing so, we just added the following to our Post-Build event of the applicable MSTest project:
CD $(TargetDir)
"$(DevEnvDir)MSTEST.exe" /testcontainer:$(TargetFileName)
The full set of MSTest command line options can be found at the applicable MSDN site.
我个人不建议将运行单元测试作为编译过程的一部分。相反,请考虑类似 ReSharper(+ 适当的单元测试运行程序或他们现在如何称呼这些)或其他一些 GUI 运行程序。
而不是在构建后事件中进行,每次编译时都会发生这种情况,我会考虑设置一个像CruiseControl.Net这样的持续集成服务器。它将为您提供一个紧密的反馈周期,但不会在您每次构建应用程序时都运行测试来阻止您的工作。
如果您想运行您当前正在开发的一组测试,Anton 建议使用ReSharper会很有效。您可以创建一个测试子集以在您希望时执行,并且它足够聪明,可以在需要时为您编译。当您在那里进行演示时,如果您还没有许可证,请选择Team City。它是另一个有前途的 CI 服务器。
如果您想使用此方法来控制构建质量,您可能会发现随着测试数量的增加,您不再希望每次按 F5 测试更改时都等待运行 1000 个测试。