通过Nunit3-console运行扩展名为.csproj的Nunit项目时,正确选择了这两个测试。
nunit3-console.exe SeleniumCHash.csproj
但是,当我尝试通过选择要执行的类文件来过滤掉其中一项测试时,这些测试并没有被获取。
nunit3-console.exe --where "class =~ 'SeleniumCHash: FirstTest'" SeleniumCHash.csproj
以下是我的课程文件。
namespace SeleniumCHash
{
[TestFixture]
public class FirstTest : TestBaseClass
{
[Test]
public void LoginCheck()
{
}
}
}
答案 0 :(得分:1)
您使用的语法表明您有一个名为“ SeleniumCHash:FirstTest”的类。当然,那是不可能的。因此,如果找不到测试,就不会运行测试。
您没有提供代码,但我想它就像
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
指的是测试的全名,通常通常包含这些元素,但其中用户编写测试代码也可以对其进行修改。