我有一个XCTestCase
的子类,我想将一些测试标记为pending
,这与RSpec的标记方式相同
https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/pending/pending-examples
我有一个XCTestCase
的子类,我想将一些测试标记为pending
,这与RSpec的标记方式相同
https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/pending/pending-examples
3条答案
按热度按时间ldioqlga1#
没有简单的方法可以做到这一点,最实用的解决方案是注解掉或重命名您的测试:
当然,RSpec的优点之一是它可以打印出某种警告,您可以使用
#warning
自己添加这些警告:这会在Xcode中显示一个警告。请记住
#warning
只在Objective-C中可用,而不是Swift。Quick和Specta等测试框架提供了待定示例:
这些测试框架通过覆盖
-[XCTestCase testInvocations]
来阻止“挂起”测试的运行,这样做需要做很多工作,但是如果你想自己实现“挂起测试”,你也可以考虑这样做。gkl3eglg2#
它并不完全是待处理的,但是如果您的主管认为待处理的测试是一个失败的套件(我是我的团队的主管,我确实是这样认为的),那么一个简单的
XCTFail()
就可以完成这项工作:然后,如果出于某种原因(可能是个人开发分支)需要保留一个待处理的测试,但是整个套件在完成之前仍然会失败,那么您可以很容易地看到哪些失败是相关的。
对于“真”待定,modocache的答案要完整得多。
58wvjzkj3#
虽然语义上可能有一点点不同,但是XCTSkip()可以提供您想要的东西,因为我以这种方式使用它。
如果有布尔条件可用于计算何时跳过测试,请使用XCTSkipIf()或XCTSkipUnless()。
当您有其他导致跳过测试的情况时,引发XCTSkip错误。
不管这意味着什么,您的测试套件仍然会通过。
这方面的好处是它用一个看起来像调试器“跳过”的图标更新了测试导航器。