我正在尝试使用vstest.console.exe从命令行运行Windows Phone 8.1单元测试。我在VS 2013(Update 4)中创建了一个新的Windows Phone 8.1单元测试项目:
在Visual Studio中发现单元测试,我能够成功运行它:
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Assert.IsTrue(true);
}
}
下一步是从我的测试项目中创建一个新的AppPackage
,生成所需的.appx
文件。然后我尝试使用以下命令运行此文件中包含的单元测试:
vstest.console.exe /InIsolation /settings:Test.runsettings UnitTestApp1_1.0.0.0_x86_Debug.appx
Test.runsettings
看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<MSPhoneTest>
<TargetDevice>Emulator WVGA</TargetDevice>
</MSPhoneTest>
</RunSettings>
此命令启动了模拟器,但失败并显示以下错误:
错误:安装程序包'D:\ work \ WP81UnitTestApp \ UnitTestApp1 \ AppPackages \ UnitTestApp1_1.0.0.0_x86_Debug_Test \ UnitTestApp1_1.0.0.0_x86_Debug.appx'失败,错误:(0xFFFFFFFF)运行Windows Phone应用程序的单元测试,该应用必须以Windows Phone 8或更高版本为目标..
知道可能出现什么问题吗?
答案 0 :(得分:8)
原来我在Test.runsettings
文件中使用了错误的模拟器名称。将其更改为此使我的测试工作:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<MSPhoneTest>
<TargetDevice>Emulator 8.1 WVGA 4 inch 512MB</TargetDevice>
</MSPhoneTest>
</RunSettings>