Запускать тесты Xamarin.UI из командной строки для конкретной платформы - PullRequest
1 голос
/ 30 октября 2019

У меня есть проект Xamarin.UITest, который содержит тесты пользовательского интерфейса для Android и iOS. Все тесты наследуются от базового класса, который выглядит следующим образом:

[TestFixture(Platform.Android)]
[TestFixture(Platform.iOS)]
public abstract class UITestBase
{
    private readonly Platform _platform;
    protected IApp App { get; private set; }

    protected UITestBase(Platform platform)
    {
        _platform = platform;
    }

    [SetUp]
    protected virtual async Task BeforeEachTest()
    {
        App = AppInitializer.StartApp(_platform);
        await Task.CompletedTask;
    }
}

Итак, все тесты будут работать как для Android, так и для iOS. Теперь в среде IDE, такой как Visual Studio или Rider, он позволяет легко запускать тесты только для конкретной платформы - при разработке я часто хочу запускать тесты только для Android, например.

Как мне запуститьтесты только для конкретной платформы из командной строки?

dotnet test запустит их для обеих платформ, и я не вижу способа фильтрации с использованием атрибута TestFixture NUnit.

Хотя я бы предпочел метод, использующий dotnet test, также было бы нормально использовать консольный обработчик NUnit, nunit3-console.exe, но, опять же, я не могу понять, как фильтровать, используя TestFixture аргументы.

...