Unit testing 设置/拆卸方法中的测试名称
每次测试都会调用SetUp和tearDown方法。在setUp和tearDown方法中是否可以知道当前(正在运行的)测试名称?根据当前正在运行的测试,我需要做一些额外的工作 您可以在Unit testing 设置/拆卸方法中的测试名称,unit-testing,ocunit,Unit Testing,Ocunit,每次测试都会调用SetUp和tearDown方法。在setUp和tearDown方法中是否可以知道当前(正在运行的)测试名称?根据当前正在运行的测试,我需要做一些额外的工作 您可以在SenTestCase子类中使用选择器方法来获取将要执行的测试方法的SEL(在设置)/已执行(拆卸)。然后可以使用NSStringFromSelector将SEL转换为字符串 这里有一个例子: NSString *testToExecute = NSStringFromSelector([self selector]
SenTestCase
子类中使用选择器
方法来获取将要执行的测试方法的SEL(在设置
)/已执行(拆卸
)。然后可以使用NSStringFromSelector
将SEL转换为字符串
这里有一个例子:
NSString *testToExecute = NSStringFromSelector([self selector]);
然而,我会重新思考你写测试的方式。我不喜欢根据要运行的测试在安装程序中执行条件代码的想法。。。
为了解决这个问题,您最好将该条件代码提取到一个方法中,并从您想要的所有测试方法中调用该方法。或者您甚至可以为这些测试用例创建一个单独的测试类,在其所有测试方法的设置/拆卸中执行额外的工作。在Swift中:
self.name
或testRun.test.name
将为您提供以下信息:-[AppUITests testLoginFlow]