У меня есть подкласс XCTestCase
, и я хотел бы отметить некоторые испытания, как pending
, таким же образом, что возможно с RSpecКак отметить XCTest как ожидающий?
https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/pending/pending-examples
У меня есть подкласс XCTestCase
, и я хотел бы отметить некоторые испытания, как pending
, таким же образом, что возможно с RSpecКак отметить XCTest как ожидающий?
https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/pending/pending-examples
Там нет простого способа сделать это. Наиболее прагматическим решением является закомментировать или переименовать тест:
@implementation MyTestCase
- (void)testSomething { /* ... */ }
// Option 1: Comment out the test.
// - (void)testSomething { /* ... */ }
// Option 2: Rename the test such that XCTest does not consider
// it a valid test method. In order to be "valid", it needs to:
//
// - Have a return type of `void`
// - Take no parameters
// - Begin with "test"
//
// Here, we rename the test so that it does not begin with "test".
- (void)PENDING_testSomething { /* ... */ }
@end
Конечно, одна из хороших вещей о RSpec является то, что она выводит предупреждение о какой-то. Вы можете добавить их самостоятельно, используя #warning
:
#pragma Pending!
- (void)PENDING_testSomething { /* ... */ }
Это отображает предупреждение в Xcode. Имейте в виду, что #warning
доступен только в Objective-C, а не в Swift.
основы тестирования как Quick и Specta обеспечивают ожидающие примеры:
pending("tests something") { /* ... */ }
xit("tests something") { /* ... */ }
xdescribe("describes something") { /* ... */ }
xcontext("provides context for something") { /* ... */ }
Эти рамки испытаний предотвращают «ожидающие» тесты из руководят перекрывая -[XCTestCase testInvocations]
. Это большая работа, но если вы хотите реализовать «ожидающие тесты» самостоятельно, вы можете также заняться этим.
Это не совсем принято, но если ваш ведущий считает в ожидании испытаний неудовлетворительного люкса (я ведущий для моей команды, и я), то простой XCTFail()
делает работу:
#pragma mark - Something Tests
- (void)testSomething_scenario_result {
XCTFail(@"Pending Test: %@",NSStringFromSelector(_cmd));
}
Тогда вы могут легко увидеть, какие неудачи являются релевантными, если вам нужно оставить ожидающий тест по какой-либо причине (возможно, ветку личного развития), но весь пакет все еще не работает, пока вы его не завершите.
Для «истинного» ожидания ответа modocache гораздо более полно.
Одна из предпосылок переименования в комментарии заключается в том, что компилятор скажет вам, если ожидающий тест не будет создан. –