从CLI找不到xunit InlineData测试

时间:2019-09-20 16:23:28

标签: xunit azure-pipelines-build-task vstest

我发现VSTS测试步骤出现问题,该步骤会在失败时重新运行测试。

如果使用“ InLineData”进行的测试失败,我发现在测试用例过滤器中找不到。

错误消息

  

[xUnit.net 00:00:00.90] HGEM.Hub.UI.Tests:异常过滤测试:TestCaseFilter的格式不正确,缺少运算符'|'要么 '&'。指定正确的格式,然后重试。请注意,格式错误可能导致无法执行任何测试。   没有测试与C:\ Users \ brian.mitchell.TMDC \ source \ repos \ HGEM.Hub.UI.Tests \ HGEM.Hub.UI.Tests \ bin \ Run \ netcoreapp2中的给定测试用例过滤器FullyQualifiedName=HGEM.Hub.UI.Tests.Features.GuestJourney.Tests.GuestJourney.BarometerScoreFilterArea(area: West)匹配。 2 \ HGEM.Hub.UI.Tests.dll

这不起作用

dotnet test --filter "FullyQualifiedName=HGEM.Hub.UI.Tests.Features.GuestJourney.Tests.GuestJourney.BarometerScoreFilterArea(area: \"West\")"

这确实有效

dotnet test --filter "FullyQualifiedName=HGEM.Hub.UI.Tests.Features.GuestJourney.Tests.GuestJourney.BarometerScoreFilterArea

但这将运行此测试的所有变体,如下所示

    [Theory]
    [Trait("Category", "GuestJourney")]
    [InlineData("East")]
    [InlineData("North")]
    [InlineData("Northern Ireland")]
    [InlineData("Scotland")]
    [InlineData("South")]
    [InlineData("Wales")]
    [InlineData("West")]
    public void BarometerScoreFilterArea(string area)
    {
        this.Given(_ => _navigationSteps.WhenIClickOn("GuestJourney"))
            .When(_=>_common.WhenIFilterDatesBy("Current Period"))
            .And(_=>_common.WhenIFilterAreaBy(area))
            .Then(_=>_common.ThenISeeABarometerScore())
            .BDDfy<GuestJourneyStory>("Barometer Score filter area");
    }

所以我的问题是VSTS中的错误吗? 我是否缺少一些配置来应对“理论”测试的重新运行?

1 个答案:

答案 0 :(得分:0)

这似乎是当前dotnet测试的未解决问题。报告并跟踪了类似的问题here