2014-12-09 1 views
1

Я пишу интеграционные тесты с помощью принтера для печати, и мне нужно, чтобы он разрезал запись после завершения всех модульных тестов в одном пакете.XCTest после теста?

Другие тестовые рамки, которые я использовал, имеют действие типа tearDownAfterClass, но XCTest, похоже, не имеет этого?

Есть ли способ смоделировать это?

ответ

0

Существует неочищенный раствор для этого. Оказывается, что XCTest всегда проходит испытания в алфавитном порядке, так как:

/** 
* Tests are run in alphabetical order, hence the Z so this runs last. 
*/ 
- (void)testZTearDownAfterClass 
{ 
    // ... 
} 

То же, наоборот, быть правдой о setUpBeforeClass:

- (void)test_setUpBeforeClass 
{ 
    // ... 
} 
+1

В этом нет необходимости - например, OCUnit, XCTestCase имеет методы настройки и срыва. – Caleb

3

Другие рамки тестов я использовал есть tearDownAfterClass типа, но XCTest, похоже, не имеет этого?

XCTest имеет именно эту функцию. Есть две версии tearDown, один метод экземпляра и один метод класса:

- (void)tearDown; // this gets called after each test 
+ (void)tearDown; // this gets called after all tests in the suite 

Кроме того, существуют экземпляра и класса версии setUp, так что вы можете сделать настройки работы перед каждым испытанием или один раз перед ванной прогонов ,