Тесты блокируются при тестировании асинхронного сетевого контента с Nocilla
Я пытаюсь протестировать класс, у которого есть метод, отвечающий асинхронно, который выполняет сетевой вызов, оцепленный Nocilla.
Тесты работают нормально, когда я запускаю тест самостоятельно. Но как только я запускаю весь свой набор тестов, он на некоторое время блокируется и заканчивается:
Thread 1: signal SIGABRT
Вот мой тестовый класс:
@interface SMIMyServiceTests : XCTestCase
@property (strong, nonatomic) SMIMyService *service;
@end
@implementation SMIMyServiceTests
+ (void)setUp {
[[LSNocilla sharedInstance] start];
}
+ (void)tearDown {
[[LSNocilla sharedInstance] stop];
}
- (void)setUp {
[super setUp];
self.service = [[SMIMyService alloc] init];
}
- (void)tearDown {
[[LSNocilla sharedInstance] clearStubs];
self.service = nil;
[super tearDown];
}
- (void)testFetch {
stubRequest(@"GET", @"http://mydevserver.192.168.1.15.xip.io/api/data.json").andReturn(200).withBody([MyUtil jsonFromFile:@"json-file" sender:self]);
XCTestExpectation *expectation = [self expectationWithDescription:@"Fetch"];
[self.service fetch:^(NSArray *data) {
XCTAssertTrue(data != nil);
XCTAssertEqual(data.count, 7);
[expectation fulfill];
}];
[self waitForExpectationsWithTimeout:5.0 handler:nil];
}
@end
Есть идеи, что не так?