Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从特定平台的命令行运行Xamarin.UI测试_Xamarin_.net Core_Nunit_Nunit Console_Xamarin.uitest - Fatal编程技术网

从特定平台的命令行运行Xamarin.UI测试

从特定平台的命令行运行Xamarin.UI测试,xamarin,.net-core,nunit,nunit-console,xamarin.uitest,Xamarin,.net Core,Nunit,Nunit Console,Xamarin.uitest,我有一个Xamarin.UITest项目,其中包含Android和iOS的UI测试。所有测试都从基类继承,基类如下所示: [TestFixture(Platform.Android)] [TestFixture(Platform.iOS)] 公共抽象类UITestBase { 私有只读平台_平台; 受保护的IApp应用程序{get;private set;} 受保护的UITestBase(平台) { _平台=平台; } [设置] 受保护的虚拟异步任务beforeachtest() { App=A

我有一个
Xamarin.UITest
项目,其中包含Android和iOS的UI测试。所有测试都从基类继承,基类如下所示:

[TestFixture(Platform.Android)]
[TestFixture(Platform.iOS)]
公共抽象类UITestBase
{
私有只读平台_平台;
受保护的IApp应用程序{get;private set;}
受保护的UITestBase(平台)
{
_平台=平台;
}
[设置]
受保护的虚拟异步任务beforeachtest()
{
App=AppInitializer.StartApp(_平台);
等待任务。完成任务;
}
}
因此,所有测试都将在Android和iOS上运行。现在,在Visual Studio或Rider这样的IDE中,我可以轻松地只为特定平台运行测试——例如,在开发过程中,我通常只想为Android运行测试

如何从命令行仅为特定平台运行测试

dotnet-test
将在两种平台上运行它们,我看不到使用NUnit的
TestFixture
属性进行过滤的方法

虽然我更喜欢使用
dotnet test
的方法,但也可以使用NUnit控制台运行程序
nunit3 console.exe
,但我还是不知道如何使用
TestFixture
参数进行过滤。

使用dotnet test(请参阅)

或将nunit3控制台运行程序用于:


您可以在@JackHua MSFT中尝试答案,它至少对单个测试有效,但我找不到让它运行所有测试的方法(尝试过的通配符):
nunit3-console.exe MyAssembly.dll--test=“My.full.Qualified.test.Class(Android)”
Category参数工作正常,但我无法使text fixture参数工作。nunit3-console.exe Xamarin.UITest.dll——其中=cat==highdotnet测试真的有效吗?它只恢复我的ui测试项目,但不运行任何测试tests@pschlz是的,或者至少“它在我的机器上工作”:P
dotnet test Tests.dll--filter iOS

dotnet test Tests.dll--filter Android
nunit3-console.exe Tests.dll --where "test =~ iOS"

nunit3-console.exe Tests.dll --where "test =~ Android"