C#-Nunit-nunit3-控制台未在where过滤器中选择提到的类文件

时间:2018-12-11 20:25:50

标签: c# nunit nunit-console

通过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()
        {
        }

    }
}

1 个答案:

答案 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”的测试时才起作用。如果有,那么所有这些都将运行。

请注意,classmethod指的是C#元素,而test指的是测试的全名,通常通常包含这些元素,但其中用户编写测试代码也可以对其进行修改。