2013-09-09 7 views
0

В каждом тесте вызывается метод SetUp и tearDown. Возможно ли узнать текущее тестовое имя в методах setUp и tearDown? Мне нужно сделать дополнительную работу в зависимости от того, что является текущим тестированием.Имя теста в методах setUp/tearDown

ответ

1

Вы можете использовать метод selector в вашем SenTestCase подкласса, чтобы получить SEL методы испытаний, который будет выполняться (в setUp)/казнили (tearDown). Затем вы можете использовать NSStringFromSelector для преобразования SEL в строку.

Вот пример:

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

Однако я бы переосмыслить то, как вы пишете тест. Мне не нравится идея выполнения условного кода в setUp в зависимости от того, какой тест будет запущен ... Чтобы решить эту проблему, вы лучше извлекаете этот условный код для метода и вызываете этот метод из всех методов тестирования, которые вы хотите. Или вы даже можете создать отдельный тестовый класс для этих тестовых примеров, выполняя эту дополнительную работу в своем setUp/tearDown для всех своих методов тестирования.