Тест dotnet не фильтрует ClassName с тестами SpecFlow - PullRequest
2 голосов
/ 29 апреля 2019

Мы используем SpecFlow для генерации наших тестов, а затем запускаем их с использованием dotnet test. (Мы не можем использовать тестовый запуск, потому что мы на OS X, а VS2019 для Mac не добавляет тесты SpecFlow на панель Unit Tests).

Я могу фильтровать по имени теста, но не могу фильтровать по имени класса теста.

Учитывая следующий сгенерированный тестовый класс:

namespace MyProject.App.Member.SpecTests.Features.Member.Account
{
    using TechTalk.SpecFlow;


    [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")]
    [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [NUnit.Framework.TestFixtureAttribute()]
    [NUnit.Framework.DescriptionAttribute("Account Page")]
    public partial class AccountPageFeature
    {
        // Test code here...
    }
}

Когда я запускаю done test с командной строкой:

dotnet test --framework netcoreapp2.1 --configuration Release --filter ClassName=MyProject.App.Member.SpecTests.Features.Member.Account.AccountPageFeature

Я получаю ошибку:

Тест не соответствует данному фильтру тестов ClassName=MyProject.App.Member.SpecTests.Features.Member.Account.AccountPageFeature в /Users/jameslavery/GitHub/MyProject.mobile/test/MyProject.App.Member.SpecTests/bin/Release/netcoreapp2.1/MyProject.App.Member.SpecTests.dll

Использование ClassName задокументировано здесь . Я подозреваю, что это потому, что сгенерированный класс не имеет атрибута [TestClass].

Есть ли какие-нибудь указатели о том, как настроить фильтрацию по классу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...