是否可以查看测试在 Visual Studio 中运行的顺序?

Is it possible to see the order in which tests are run in visual studio?

提问人:William Jockusch 提问时间:11/14/2023 更新时间:11/15/2023 访问量:38

问:

我在 C# 解决方案中有一套 800 多个测试。他们正在使用 XUnit。xunit.runner.json要求按顺序运行测试。换言之,一次不应运行多个测试。

我正在尝试调试一个有时会在其中一个测试中触发的 Heisenbug。我发现自己想知道这是否可能与运行测试之前发生的事情有关。

有没有办法查看测试的运行顺序?甚至查看在我的目标测试之前立即运行了什么测试?

显然,可以修改所有测试以在测试开始时记录测试的名称。

相关问题在这里 是否可以查看测试运行的顺序?但它已经有 11 年的历史了,没有一个对我的情况有用的答案。

C# 测试 visual-studio-2022 mstest xunit

评论

0赞 Mike Nakis 11/14/2023
提示:不使用测试框架的任何功能(除了指定测试类和测试方法)来编写测试,以便您可以编写自己的测试框架的轻量级实现(这并不太难),以便精确控制测试。测试框架被高估了。

答:

1赞 scharnyw 11/15/2023 #1

可以使用 vstest.console.exe 从命令行运行测试,这会在测试运行时记录测试名称:

vstest.console.exe .\path-to-your-test.dll

vstest.console.exe 随 Visual Studio 一起提供,可以从开发人员命令提示符调用,也可以在以下位置找到它(对于较旧的 32 位版本的 VS,它位于 而不是 )。%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\Extensions\TestPlatform%ProgramFiles(x86)%%ProgramFiles%

显然,如果测试是并行运行的,则输出顺序不一定正确。但是,由于这对你来说不是问题,所以应该没问题。