我有一个包含安卓和iOS的UI测试的Xamarin.UITest项目。所有测试都继承自一个基类,如下所示:
[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;
}
}现在,在像Visual Studio或Rider这样的IDE中,它很容易让我只为特定的平台运行测试--例如,在开发时,我通常只想运行Android的测试。
如何从命令行运行仅针对特定平台的测试?
dotnet test将在两个平台上运行它们,我看不到使用NUnit的TestFixture属性进行过滤的方法。
虽然我更喜欢使用dotnet test的方法,但是也可以使用NUnit控制台运行器nunit3-console.exe,但是我还是不知道如何使用TestFixture参数进行过滤。
发布于 2020-12-12 01:11:59
使用dotnet-test (参见run selective unit tests)
dotnet test Tests.dll--filter iOS
dotnet test Tests.dll--filter Android或者对Test Selection Language使用nunit3-console-runner:
nunit3-console.exe Tests.dll --where "test =~ iOS"
nunit3-console.exe Tests.dll --where "test =~ Android"https://stackoverflow.com/questions/58624867
复制相似问题