Как получить xunit для поиска тестов ядра dotnet в Linux с помощью xunit.gherkin.quick - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь заставить тестирование BDD работать с использованием ядра dotnet и xunit.gherkin.quick.(https://github.com/ttutisani/Xunit.Gherkin.Quick)

Я создал проект, который полностью работает на Windows https://github.com/Richie5555/QuickTest

Полностью работая, я могу выполнить команду 'тест Dotnet' и получаюпроходной тест, и я могу выполнить команду 'dotnet xunit', и я получаю проходной тест.(Мне нужно запустить 'dotnet xunit -xml results.xml' в конце, чтобы получить отчет о тестировании xunit.

Однако, когда я пытаюсь запустить его в Linux (centOS), "dotnet test" работал как положеноТем не менее, 'dotnet xunit' не находит никаких тестов.

Прогуляв пару дней (и пробуя многие вещи), я в тупике!

Пожалуйста, кто-нибудь может помочь решить эту проблему?

Мой файл .csproj:

    <Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RuntimeFrameworkVersion>2.1.5</RuntimeFrameworkVersion>
    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
    <PackageReference Include="xunit" Version="2.4.0" />
    <PackageReference Include="xunit.gherkin.quick" Version="3.3.0" />
    <PackageReference Include="xunit.runner.console" Version="2.4.0">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
  </ItemGroup>

     <ItemGroup>
    <None Update="./FeatureFiles/*.feature">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>

</Project>

Мой файл функций:

Feature: FeatureOne

    Scenario: ScenarioOne
        When I add 1 plus 1
        Then the answer should be 2

Мои файлы StepDefinition:

using Xunit;
using Xunit.Gherkin.Quick;

namespace QuickTest.StepDefinitions
{
    [FeatureFile("./FeatureFiles/FeatureOne.feature")]
    public sealed class FeatureOneSteps : Feature
    {
        private int _Answer = 0;

        [When(@"I add 1 plus 1")]
        public void IAdd1Plus1()
        {
            _Answer = 1 + 1;
        }

        [Then(@"the answer should be 2")]
        public void TheAnswerShouldBe2()
        {
            Assert.Equal(2, _Answer);
        }
    }
}

Выполняется 'dotnet --info 'в Windows (работает нормально):

.NET Core SDK (reflecting any global.json):
 Version:   2.1.403
 Commit:    04e15494b6

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.14393
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.403\

Host (useful for support):
  Version: 2.1.5
  Commit:  290303f510

.NET Core SDKs installed:
  2.1.403 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

То же самое в Linux:

.NET Core SDK (reflecting any global.json):
 Version:   2.1.403
 Commit:    04e15494b6

Runtime Environment:
 OS Name:     amzn
 OS Version:  2
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/2.1.403/

Host (useful for support):
  Version: 2.1.5
  Commit:  290303f510

.NET Core SDKs installed:
  2.1.403 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

Пожалуйста, дайте мне знать, если есть дополнительная информация, необходимая для разрешенияты мне в помощь! :) 1031 *

...