2013-05-06 54 views
1

我有一个应用程序使用Vuforia SDK(https://www.vuforia.com/)和一个在模拟器中不起作用的功能。我开始为这个应用程序编写单元测试,但我不知道为什么,但是当我运行测试时,它也尝试构建主应用程序并失败,因为没有适用于i386的有效体系结构。在没有构建主应用程序的情况下运行单元测试

是不是可以不建立主应用程序?我只测试几个模型类和一个XML解析器,不需要构建整个应用程序...

谢谢!

+1

如果它不是正在构建的,它将测试哪些代码?也许你想要分析一个只关注模型和单元测试的子模块;主应用程序会将这个模型部分作为依赖项加载? – Mikeb 2013-05-06 20:19:46

+3

如果它没有构建主应用程序,那么没有什么可测试的。 – Kevin 2013-05-06 20:20:28

+0

我正在测试一个简单的NSXMLParserDelegate,为什么我应该构建整个应用程序。我喜欢这个图书馆的解决方案,我想我会继续这样做。 – 2013-05-07 14:30:39

回答

4

您可以将需要测试的类放入库或框架中,并使测试依赖于库。这些测试和库不需要Vuforia SDK。

可执行文件是一个单独的目标(甚至是项目),具体取决于库,但是在测试之后构建。

+2

+1我发现将所有的类放在一个静态库中使得它非常容易进行单元测试,或者使用调试助手库创建额外的目标等。 – 2013-05-06 21:08:27

+0

我喜欢这个想法,谢谢! – 2013-05-07 14:30:59

1

为新项目创建的单元测试目标是应用程序单元测试。它通过在构建设置中设置BUNDLE_LOADER和TEST_HOST将您的测试代码注入到应用程序中。您可以创建一个新的单元测试目标,默认情况下这将是一个逻辑单元测试(BUNDLE_LOADER和TEST_HOST未设置)。然后将您想测试的代码添加到新目标以及您的应用目标。将你的方案改为新的目标并运行你的单元测试。

新的目标对话框

New Target Dialog

目标会员

Target Membership

选择方案

Select Scheme

+0

感谢您的回答,我会试试看! – 2013-05-07 17:08:10

相关问题