У меня есть проект 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
аргументы.