Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Ios 单元测试不是从Xcode 5和jenkins开始的_Ios_Xcode_Unit Testing_Jenkins - Fatal编程技术网

Ios 单元测试不是从Xcode 5和jenkins开始的

Ios 单元测试不是从Xcode 5和jenkins开始的,ios,xcode,unit-testing,jenkins,Ios,Xcode,Unit Testing,Jenkins,我已经在本地机器上安装了jenkins。然后我创建了一个示例应用程序,其中一个单元测试失败,另一个单元测试成功。当我在终端中发出以下命令时 Xcode构建-方案“SampleWithTest”-sdk iphonesimulator7.0 -目标平台='iOS模拟器',操作系统=7.0,名称='iPhone视网膜(3.5英寸)'清洁测试 然后清洁构建项目,启动模拟器并进行测试。这就是它应该如何工作 当我通过jenkins运行相同的命令时,它会干净地构建项目,并以**TEST successed*

我已经在本地机器上安装了jenkins。然后我创建了一个示例应用程序,其中一个单元测试失败,另一个单元测试成功。当我在终端中发出以下命令时

Xcode构建-方案“SampleWithTest”-sdk iphonesimulator7.0 -目标平台='iOS模拟器',操作系统=7.0,名称='iPhone视网膜(3.5英寸)'清洁测试

然后清洁构建项目,启动模拟器并进行测试。这就是它应该如何工作

当我通过jenkins运行相同的命令时,它会干净地构建项目,并以**TEST successed**结束,而不启动模拟器或打印测试结果。詹金斯只是假装测试成功


我在本地机器上测试它。没有任何无头、远程、源代码控制、从属、代码签名或任何可能造成任何麻烦的东西

Xcode在Jenkins、Travis或其他非苹果CI解决方案中的设置非常棘手

单元测试支持更糟糕,所以您应该尝试使用


相关博客。

Jenkins Xcode插件尚未更新,无法与Xcode 5和XCTest框架一起使用。看见Jenkins和Xcode插件不理解XCTest输出


此外,Xcode 5改变了运行测试时Xcode与模拟器和设备交互的方式。虽然现在模拟器有类似“无头模式”的功能,但Xcode插件无法访问该功能。这意味着在某些情况下,在Xcode插件看来,测试会立即运行并退出,这是不准确的。

您发现什么了吗?有同样的问题吗?你是否为jenkins使用Xcode插件?@quellish是的,为jenkins使用Xcode插件。如果你ssh到机器上(甚至从同一台机器上)并运行Xcode构建命令,你会得到同样的结果吗?如果您ssh到其中并以jenkins服务器运行时的用户身份运行该命令会怎么样?Xcode和模拟器要求用户拥有一个可以运行Windows服务器等的帐户,并具有开发人员权限。你的jenkins用户可能没有所有这些,也可能是这样,Jenkins使用的shell环境可能没有正确设置。单元测试用例在本地Jenkins实例中运行良好,配置与构建服务器相同,但在通过ssh连接的服务器中,它没有启动模拟器并显示**test Successed**消息,但问题不在于xcode正如zeiteisen所描述的那样,当您仅使用xcodebuild时,问题就会出现。zeiteisen描述它确实与xcodebuild一起工作,并且在详细说明的评论中,他使用的是jenkins的Xcode插件。