如何在Xcode中运行单个测试用例?

06odsfpq  于 12个月前  发布在  其他
关注(0)|答案(7)|浏览(89)

我知道最好的做法是在任何更改之后运行所有单元测试用例,以确保不会破坏任何东西。然而,有时候,例如。调试时,我真的只想运行一个测试用例。Xcode似乎没有在UI中提供任何这样的功能,而其他测试框架(如JUnit)具有这样的功能。
在Xcode中是否有解决方法可以只运行一个测试用例?
P.S.我的大多数测试用例都是逻辑测试。因此,它们不在iPhone设备中运行。

cx6n0qe3

cx6n0qe31#

Xcode 4现在有这个功能。只需创建一个“运行方案”,其中包含您想要运行的测试用例。
1.打开菜单“产品|编辑方案...”
1.点击“编辑...”
1.在左窗格中,展开“测试”部分。
1.在右窗格中,展开测试包并取消选中不需要运行的测试用例。

4nkexdtk

4nkexdtk2#

简体中文
也可以使用键盘快捷键Control-Option-Command-U
Maven摘自Apple文档
产品>执行操作>测试。当您编辑测试方法时,此动态菜单项会检测编辑插入点所在的当前测试方法,并允许您使用键盘快捷键运行该测试。该命令的名称适应于显示它将运行的测试,例如Product > Perform Action > Test testAddition。键盘快捷键为Control-Option-Command-U。

2guxujil

2guxujil3#

我相信没有人会错过Xcode 5的发布以及它轻松运行单个测试用例的能力,但添加这个答案只是为了完整性。
在Xcode 5中,您可以通过单击测试导航器中测试旁边或编辑器中测试方法旁边的小播放按钮来运行单个测试用例。在这两个地方,当你悬停在它上面时,它都会显示出来。

qoefvg9y

qoefvg9y4#

您也可以在命令行中使用xctool--only参数,这将只运行指定的测试用例。

5q4ezhmt

5q4ezhmt5#

正如您已经注意到的,OCUnit测试框架将名称以“test”开头的方法标记为测试用例。这是在运行时完成的
在实践中,您的测试用例应该运行得非常快,以至于启用了多少都不重要;你的调试器应该能够在你按下“Debug”之后很快地停止在你的测试用例中。
也就是说,禁用某些测试的最快方法可能是使用#if 0 / #endif块。动态禁用测试用例的特性在Xcode / OCUnit中不存在,因为没有GUI组件。
从理论上讲,它应该是可行的,因为在运行时(以及所有测试运行之前),有一些方法可以访问OCUnit中的测试列表,但这需要修改OCUnit源代码,这是不可取的(它将在下一次Xcode更新中被删除)。
最后,如果这个特性对您很重要,您可以轻松地编写自己的测试工具,它主要复制OCUnit所做的事情。然后你可以调整它到你的心脏的内容,添加UI等。
这并不难,而且有点教育意义。这里有一个很好的链接让你开始:
http://gusmueller.com/blog/archives/2009/10/how_to_write_your_own_automated_testing_framework.html

6gpjuf90

6gpjuf906#

  • 转到View -> Navigators -> Tests(查看->导航->测试)(-6)
  • 找到您的测试用例或测试,并二次点击它
  • 运行您的案例/测试
ars1skjm

ars1skjm7#

现在在Xcode 14.x(在我的例子中是14.3.1)中更容易。
1.单击项目导航器中的复选标记图标(下图中红色框突出显示)
1.这将带您进入您的测试列表。
1.右键单击要运行的测试,然后从上下文菜单中选择选项(如图所示)


的数据

相关问题