0

SetUp and tearDown methods are called on every test. Is it possible to know the current (running) test name in the setUp and tearDown methods? I need to do some extra work depending on what is the currently running test.

4

2 回答 2

1

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

这里有一个例子:

NSString *testToExecute = NSStringFromSelector([self selector]);

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

于 2013-09-10T08:30:33.043 回答
0

在 Swift 中:self.name或者testRun.test.name会给你这个:-[AppUITests testLoginFlow]

于 2018-09-05T10:06:36.503 回答