我的单元测试被划分为XCTestCase
的不同子类。
对于应用程序的特定初始化,我想检查某个XCTestCase
子类的单元测试是否已经启动。
这样的子类是使用
class SomeTestCase: XCTestCase { //… }
我知道可以使用以下命令检查XCTestCase
是否存在
NSClassFromString("XCTestCase") != nil
这是可行的,但是
NSClassFromString("SomeTestCase") != nil
不起作用。
为什么这个检查对XCTestCase
的子类不起作用?我怎样才能检查它的存在?
附言:我知道我可以在方案中设置一个启动参数。但是我不得不对不同的子类使用不同的方案,这是不可行的。
1条答案
按热度按时间ldfqzlk81#
我认为行为上的差异是因为
SomeTestCase
是一个Swift类,它的类名将包括定义它的模块。如果使用
NSStringFromClass(SomeTestCase.self)
,则可以看到正在使用的名称。或者,你可以给予测试类一个显式的名称,以便在Objective-C环境中使用: