gpt4 book ai didi

visual-studio - 是否有用于以编程方式运行 Visual Studio 单元测试的 API?

转载 作者:行者123 更新时间:2023-12-03 20:48:13 24 4
gpt4 key购买 nike

是否有用于以编程方式运行 Visual Studio 单元测试的 API?

使用 Process.Start() 运行 MSTests.exe 在当前方案中不起作用。我正在寻找的是类似于 NUnit SimpleTestRunner 的东西。

有任何想法吗?

/埃里克

最佳答案

您是正确的,因为 mstest 框架没有公共(public) API。有一天我为 mstest 写了一个手动替换,看看它有多难,而且它并不像看起来那么简单(特别是如果你想利用多个 CPU 内核),所以要小心走这条路。

就我个人而言,我一直只是运行 mstest.exe以编程方式解析结果 .trx XML 文件。有什么特殊原因不能使用 Process.Start运行它?

附言如果您通过 /noisolation,mstest.exe 的一些奇怪行为会得到解决。命令行参数 - 如果您愿意,请尝试一下 :-)

更新:Erik 提到他想在当前线程中运行测试 API,以便为全局化问题设置线程文化。

如果您在调试器下运行单元测试,您会注意到 mstest 创建了一堆线程,并在不同的线程中运行您的所有测试,因此即使您可以访问 API,这也不太可能工作。

我建议这样做:

  • 从您的测试“运行者”应用程序中,设置环境变量
  • 运行 mstest 并将其指向特定测试
  • 添加 [ClassInitialize] (或 [TestInitialize] )读取此环境变量并设置文化的方法
  • 利润!
  • 关于visual-studio - 是否有用于以编程方式运行 Visual Studio 单元测试的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2054994/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com