【问题标题】:Organising iOS OCUnit test files in XCode在 XCode 中组织 iOS OCUnit 测试文件
【发布时间】:2011-11-30 11:07:16
【问题描述】:

我正在使用 OCUnit 和 Xcode 4.2 向现有 iOS 项目添加单元测试。我已经成功添加了一个新的构建目标(按照此处的说明:http://twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/)并设置了一些简单的示例测试,以检查我是否可以运行测试并且它们是否按预期工作。

我的问题是关于添加更多测试文件,以及如何组织它们。现有的代码库很广泛,包含数百个类,我们迟早需要添加测试。显然,将所有测试放在自动生成的“UnitTests.m”文件中将是疯狂的。我看到我可以使用“Objective-C 测试用例类”模板添加更多文件,但我不清楚这与我添加测试目标时 XCode 生成的总体“UnitTest.m”有何关系。

XCode 是否只是查找测试目标的所有测试文件并运行所有测试?如果是这样,为我正在测试的每个类生成一个新的测试文件是有意义的,并且在主“UnitTests.m”文件中没有任何内容。如果是这种情况,我可以安全地删除该文件,因为它不包含任何测试吗?还是需要保留它才能在其他文件中运行其他测试?

【问题讨论】:

    标签: ios xcode unit-testing xcode4 ocunit


    【解决方案1】:

    Xcode 最初设置为对属于单元测试目标成员的文件运行所有单元测试。在您的情况下,您应该为要测试的每个类创建一个新的测试文件。创建新文件时,请确保将文件添加到单元测试目标,而不是应用程序目标。 Xcode 最初将文件添加到应用程序目标。

    您可以删除 UnitTest.m 文件。您创建的每个单元测试文件都包含足够的信息来运行测试。您还可以使用方案编辑器来控制 Xcode 如何运行您的测试。

    Xcode 5 更新

    Xcode 5 添加了一个测试导航器,让您可以运行单个测试、运行测试类的所有测试或运行所有测试。测试导航器减少了使用方案编辑器来控制 Xcode 如何运行测试的需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 2012-11-29
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多