我正在使用Chris Hanson优秀的Xcode单元测试指南。
我的程序是一个(命令行)应用程序(它排除了使用可执行文件本身来运行测试),但我需要能够调试我的单元测试。
所以我的具体如下:
创建测试包和测试。
创建新的测试目标,设置捆绑加载器和测试主机。
添加主目标作为测试目标的直接依赖。
创建新的自定义可执行文件otest。
添加-SenTest self
,MyTestBundle.octest
,参数。
在环境中添加DYLD_LIBRARY_PATH
和DYLD_FRAMEWORK_PATH
变量。
我的问题是,当我现在尝试通过运行可执行文件来调试测试时,测试引用的类不可用。例如,如果我为类Foo编写测试,只要在测试中实例化Foo,我就会遇到错误的访问异常。
如果我将Foo.m添加到测试目标中,这就会消失,但我不必将我想要测试的每个类添加到测试目标以及应用程序目标。
我假设我只需要添加某种类型的变量告诉otest在哪里找到我的主可执行文件中的类,但我不知道这个参数的名称是什么。
有人能指出我正确的方向来解决这个问题吗?
答案 0 :(得分:0)
第二个想法,XCInjectBundle和XCInjectBundleInto变量会有帮助吗?它们在Apple的Automated Unit Testing with Xcode 3 and Objective-C
中有描述XCInjectBundle:Unit Tests.octest
XCInjectBundleInto:OCT.app/Contents/MacOS/OCT