setUp / tearDown方法中的测试名称

时间:2013-09-09 12:21:53

标签: unit-testing ocunit

每次测试都会调用SetUp和tearDown方法。是否可以在setUp和tearDown方法中知道当前(运行)测试名称?我需要做一些额外的工作,具体取决于当前正在运行的测试。

2 个答案:

答案 0 :(得分:1)

您可以使用selector子类中的SenTestCase方法获取将要执行的测试方法的SEL(在setUp中)/已执行({{ 1}})。然后,您可以使用tearDown将SEL转换为字符串。

这是一个例子:

NSStringFromSelector

但是我会重新考虑你编写考试的方式。我不喜欢在setUp中执行条件代码的想法,这取决于要运行的测试... 要解决这个问题,最好将条件代码提取到方法中,并从所需的所有测试方法中调用该方法。或者您甚至可以为这些测试用例创建一个单独的测试类,在其setUp / tearDown中为其所有测试方法执行额外的工作。

答案 1 :(得分:0)

在Swift中:self.nametestRun.test.name将为您提供:-[AppUITests testLoginFlow]