如何在Xcode中运行“测试代码”而在发布版本中没有与测试相关的代码?

时间:2013-04-03 19:45:39

标签: testing xcode4

修正:我的数据库为空。我的代码覆盖了我现有的(已填充)数据库。这里没什么可看的:)

我有3个“测试”类,可以在我的应用上运行测试。应用程序的一部分功能是解析HTML,所以我有一个标记代码数据库来测试。我不希望这些3个测试类和标记代码数据库包含在我发布的代码中。如何设置Xcode来实现这一目标?

我也在运行单元测试,所以我已经输入了一个测试方法来挂钩我的测试类,但是下面的if语句没有评估为true:

if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK)

首先想到的是libsqlite3.0.dylib和.sqlite是否被复制了(更多),下面的声明是在此行评估为真之前的

if (sqlite3_open([path UTF8String], &database) == SQLITE_OK

所以我可以假设(?)sqlite db和dylib就位。

请记住,代码是从一个已知的工作副本中完全复制的,我回过头来讨论:

  • 我已经验证数据库和sql变量在所讨论的行不是nil之前不是nil
  • 我已将dylib,.sqlite和测试类目标分配给所有目标(主要是因为我正在了解目标的工作原理)
  • 使用断点我验证了我的Xcode创建的测试用例类的测试方法正在被调用

我想知道它是否是我缺少的设置,或者它是否仅在SenTestingKit框架中不受支持。是否可以以这种方式挂钩测试类?

0 个答案:

没有答案