在Visual Studio代码中,我真的被3个“上下文”菜单项搞糊涂了:Run Tests in Context
、Debug Tests in Context
和Run .NET Core Test in context
,它们期望的是什么Context
?
据我所知,TestContext
将通过.runsettings
进行初始化,但我永远无法通过VS代码在Context
中调试/运行测试的runsettings
。
[ClassInitialize]
public static new void ClassInitialize(TestContext testContext)
{
//testContext doesn't get setting from `.runsettings`
...
BaseTest.ClassInitialize(testContext);
}
我相信下面的Debug Test
和Debug Tests in Context
是不一样的?因为下面的Run Test
可以加载runsettings
,但是Debug Test
不能工作。
以上Run Test
使用以下设置:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RunSettingsFilePath>$(MSBuildProjectDirectory)\example.runsettings</RunSettingsFilePath>
</PropertyGroup>
...
</Project>
我的测试在Visual Studio2019中运行良好,但在加载.runsettings
时停留在VS代码中。
有关更多详细信息,请参阅:
下面是我的文件夹结构:
下面是workspace.code-workspace
的内容,dotnet-test-explorer
可以很好地使用它来加载所有测试:
{
"folders": [
{
"path": ".."
}
],
"settings": {
"dotnet-test-explorer.testArguments": "--settings c:/src/pat-oas/.runsettings",
"dotnet-test-explorer.testProjectPath": "./tests/Pat.UITests.Itrds/Pat.UITests.Itrds.csproj"
}
}
发布于 2021-03-22 01:56:18
在上下文中运行或调试测试是visual studio的一项功能,它允许您从光标所在的位置运行测试。它将从光标所在的位置运行第一个测试,或运行文件中的所有测试。
对于vscode,开始查找测试的上下文是您右键单击的位置。它只是比滚动到codelens,或者在扩展测试运行器中找到测试更容易。
runsettings
是一个全包功能,您必须在omnisharp.testRunSettings
下设置文件路径。这里是相关的PR https://github.com/OmniSharp/omnisharp-vscode/pull/3573
.Net Core run test in context
可能是由您使用的扩展测试运行器贡献的。
您可以在此处查看此答案中的图表https://stackoverflow.com/a/42881612
https://stackoverflow.com/questions/65726111
复制