【发布时间】:2009-08-30 02:59:34
【问题描述】:
我有一套单元测试,我在签入我的项目之前会使用它们。但是,通常情况下,只有其中一个在代码中发现了一些回归。在这些情况下,我只想在调试故障时运行那个特定的单元测试。我还没有在 Xcode 中找到任何方法来做到这一点。有可能吗?
【问题讨论】:
标签: objective-c xcode ocunit
我有一套单元测试,我在签入我的项目之前会使用它们。但是,通常情况下,只有其中一个在代码中发现了一些回归。在这些情况下,我只想在调试故障时运行那个特定的单元测试。我还没有在 Xcode 中找到任何方法来做到这一点。有可能吗?
【问题讨论】:
标签: objective-c xcode ocunit
如果您愿意将测试限制在单个测试类,一个简单的选择是创建第二个测试目标(复制现有目标,更改产品名称并删除“编译源”构建阶段的内容,如果您愿意)并仅添加您尝试修复的测试源文件。
或者,您可以使用“其他测试标志”选项将-SenTest 参数传递给测试运行者otest:
% /Developer/Tools/otest
2009-08-29 22:28:39.555 otest[70089:10b] Usage: otest [-SenTest Self | All | None |
<TestCaseClassName/testMethodName>] <path of unit to be tested>
有关使用此方法的更多信息是here。
【讨论】:
感谢您朝着正确的方向前进。我最终使用了相同的基本概念,但我添加了一个 GUI,让您可以选择要运行的内容以及为每个测试获得漂亮的红色/绿色状态。如果有人感兴趣,代码在下面的 URL 中。 UI 需要更多的吐槽和润色,但它似乎正在工作。
http://github.com/nall/XcodeUnitTestGUI/tree/master
在我开始上面的项目之后,我发现这个项目真的很棒。
【讨论】:
对于新读者:Xcode 现在提供的一种更好的方法是编辑要测试的目标的方案,然后在方案窗格的左侧栏中选择“测试”。 使用测试列中的小部件来扩展目标和套件。 您可以使用右侧的复选框在每个测试目标、每个套件或每个测试的基础上禁用/启用测试
【讨论】: