当我尝试在xamarin-android应用程序上运行单元测试时,所有测试都会失败,因为IDE(VS 2015)无法找到任何设备或模拟器来部署应用程序,尽管其中一个正在运行。
如果我正常运行应用程序,它可以正常工作。
VS日志输出:
Full log file: C:\Users\tester\AppData\Local\Temp\uitest\log-2016-08-03_10-57-46-734.txt
Attempting IDE connection through pipe 0620e6c5f6094679bbb909f65a5f0702.
Deploying app through IDE.
Instructing the IDE to prepare the test app for execution. Session: Assembly=D:\Documents\Visual Studio 2015\Projects\MyTicketNativeApp\trunk\Cobeco.MyTicket.DroidApp.UITests\bin\Debug\Cobeco.MyTicket.DroidApp.UITests.DLL
Platform=Android
IDE integration failed to deploy app: There isn't any device or emulator available for running the application
NUnit VS Adapter 2.0.0.0 executing tests is finished
========== Run test finished: 11 run (0:00:02,6699974) ==========
此外,输出完整日志文件:
03-08-2016 10:57:46.749 +02:00 - 14 - Potential Android SDK location: (No path) - Not set. [ Source: ANDROID_HOME ]
03-08-2016 10:57:46.750 +02:00 - 15 - Potential Android SDK location: D:\Android - Valid SDK. [ Source: Registry ]
03-08-2016 10:57:46.750 +02:00 - 15 - Potential Android SDK location: D:\Android - Valid SDK. [ Source: Registry ]
03-08-2016 10:57:46.750 +02:00 - 15 - Using Android SDK: D:\Android
03-08-2016 10:57:46.750 +02:00 - 15 - Using JDK: C:\Program Files (x86)\Java\jdk1.7.0_55 [ Source: Registry ]
03-08-2016 10:57:46.765 +02:00 - 30 - Attempting IDE connection for Android: D:\Documents\Visual Studio 2015\Projects\MyTicketNativeApp\trunk\Cobeco.MyTicket.DroidApp.UITests\bin\Debug\Cobeco.MyTicket.DroidApp.UITests.DLL.
03-08-2016 10:57:46.765 +02:00 - 31 - Attempting IDE connection through pipe 0620e6c5f6094679bbb909f65a5f0702.
03-08-2016 10:57:46.794 +02:00 - 59 - Deploying app through IDE.
03-08-2016 10:57:46.794 +02:00 - 60 - Instructing the IDE to prepare the test app for execution. Session: Assembly=D:\Documents\Visual Studio 2015\Projects\MyTicketNativeApp\trunk\Cobeco.MyTicket.DroidApp.UITests\bin\Debug\Cobeco.MyTicket.DroidApp.UITests.DLL
Platform=Android
03-08-2016 10:57:46.807 +02:00 - 73 - IDE integration failed to deploy app: There isn't any device or emulator available for running the application
答案 0 :(得分:1)
我终于明白了。必须在单元测试设置中手动将ip设置为设备和apk文件的路径。
E.g:
AndroidApp app = ConfigureApp
.Android
.DeviceIp("127.0.0.1") //Localhost because i use an emulator
.ApkFile("<path-to-apk>")
.StartApp();
答案 1 :(得分:0)
(抱歉,无法发表评论)您是否尝试重新打开模拟器或连接物理设备?你使用哪个模拟器?目标平台(armeabi,x86等)是否适合您的仿真器设备?