ios - 在项目中包含Metal库的同时如何在Xcode中进行单元测试

标签 ios xcode unit-testing xcode8 metal

我有一个图书馆项目(A)和一个金属图书馆项目(M)。 M在“复制文件”阶段包含在A中。这就引入了构建依赖性,这意味着我无法为模拟器构建A,因为它首先尝试构建M,并且模拟器不支持Metal。

很好,但是问题是A包含一些单元测试,并且当我尝试测试项目时,我收到此错误消息,
Logic Testing Unavailable. Logic testing on iOS devices is not supported. You can only run logic tests on the Simulator.
但是由于上述依赖性,我无法为模拟器构建...

我读了https://medium.com/the-sup-app/bare-metal-working-with-metal-and-the-simulator-70e085e3a45 -也许这可以帮助我消除A在M中对模拟器的依赖性,但是我试图在没有Cocoapods的情况下(纯粹在Xcode中)做到这一点。

有什么解决方法吗?

最佳答案

周末我碰到了同样的事情。试图成为一个好公民,并在我的Metal项目中包含单元测试。 ;-)

解决这个问题的唯一方法是不使用XCTest编写单元测试,而是创建一个单独的目标,该目标可以自己作为应用程序运行。然后,这个新目标运行单元测试。

过去,我为此使用GHUnit,但现在不知道是否有合适的替代品。

最坏的情况是,您可以编写自己的运行XCTest宏的小单元测试库。

关于ios - 在项目中包含Metal库的同时如何在Xcode中进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43569473/

相关文章:

php - 从 PHPUnit 代码覆盖率中排除 PHP 接口(interface)

ios - 自定义 uicollectionview 布局编码

objective-c - 两个目标 一个通用应用程序

iphone - 如何更改 XCode xib 中的堆叠顺序或对象?

ios - 无法附加到 pid : “####” unable to attach

c# - 如何在内存中初始化测试并在每个测试中使用

ios mpvolumeview 路由按钮未在 ios 7.1 更新上垂直居中

iphone - 在 iOS 中以编程方式导航

ios - CocoaPods 和 Swift 3.0

unit-testing - 我可以对进行 Sitecore 上下文调用的方法进行单元测试吗?