C# - Nunit - nunit3-console 没有在 where 过滤器中选择提到的 class 文件
C# - Nunit - nunit3-console not picking the mentioned class file in the where filter
虽然 运行 通过 Nunit3-console 扩展名为 .csproj 的 Nunit 项目,但正确选择了两个测试。
nunit3-console.exe SeleniumCHash.csproj
但是,当我尝试通过选择要执行的 class 文件来过滤掉其中一项测试时,测试没有被选中。
nunit3-console.exe --where "class =~ 'SeleniumCHash: FirstTest'" SeleniumCHash.csproj
以下是我的Class文件。
namespace SeleniumCHash
{
[TestFixture]
public class FirstTest : TestBaseClass
{
[Test]
public void LoginCheck()
{
}
}
}
您使用的语法表明您有一个名为 "SeleniumCHash: FirstTest" 的 class。当然,那是不可能的。所以当没有找到测试时,没有测试 运行.
你没有提供你的代码,但我猜它类似于
namespace Some.Thing
{
public class SeleniumCHash
{
[Test]
public void FirstTest() { ... }
...
}
}
您可以 运行 FirstTest 使用任何选项
--where "class == Some.Thing.SeleniumCHash && method == FirstTest"
--test Some.Thing.SeleinumCHash.FirstTest
--where "test == Some.Thing.SeleniumCHash.FirstTest"
--where "test =~ FirstTest"
当然,最后一个只有在没有其他测试匹配 "FirstTest" 时才会起作用。如果有,那么全部都会运行.
请注意,class
和 method
指的是 C# 元素,而 test
指的是测试的全名, 通常 包含那些元素,但也可以由编写测试代码的用户修改。
虽然 运行 通过 Nunit3-console 扩展名为 .csproj 的 Nunit 项目,但正确选择了两个测试。
nunit3-console.exe SeleniumCHash.csproj
但是,当我尝试通过选择要执行的 class 文件来过滤掉其中一项测试时,测试没有被选中。
nunit3-console.exe --where "class =~ 'SeleniumCHash: FirstTest'" SeleniumCHash.csproj
以下是我的Class文件。
namespace SeleniumCHash
{
[TestFixture]
public class FirstTest : TestBaseClass
{
[Test]
public void LoginCheck()
{
}
}
}
您使用的语法表明您有一个名为 "SeleniumCHash: FirstTest" 的 class。当然,那是不可能的。所以当没有找到测试时,没有测试 运行.
你没有提供你的代码,但我猜它类似于
namespace Some.Thing
{
public class SeleniumCHash
{
[Test]
public void FirstTest() { ... }
...
}
}
您可以 运行 FirstTest 使用任何选项
--where "class == Some.Thing.SeleniumCHash && method == FirstTest"
--test Some.Thing.SeleinumCHash.FirstTest
--where "test == Some.Thing.SeleniumCHash.FirstTest"
--where "test =~ FirstTest"
当然,最后一个只有在没有其他测试匹配 "FirstTest" 时才会起作用。如果有,那么全部都会运行.
请注意,class
和 method
指的是 C# 元素,而 test
指的是测试的全名, 通常 包含那些元素,但也可以由编写测试代码的用户修改。