在使用ocunit进行单元测试时,发现这个问题 我要测试的方法是:testThread 如下:
@implementation testNSThread
- (BOOL)testThread
{
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(thread) object:nil];
[thread start];
return YES;
}
- (void)thread
{
NSLog(@"thread**********************");
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(thread2) object:nil];
[thread start];
}
- (void)thread2
{
NSLog(@"thread2**********************");
}
@end
测试方法这么写的:
@implementation testTestNSThreadTests
- (void)setUp
{
[super setUp];
// Set-up code here.
}
- (void)tearDown
{
// Tear-down code here.
[super tearDown];
}
- (void)testExample
{
testNSThread *_testNSThread = [[testNSThread alloc] init];
STAssertTrue([_testNSThread testThread], @"test");
}
@end
最后的结果是:第二个线程没有在测试中启动,也就是说 thread2********************** 没有打印,但是正常调用testThread是没有问题的。 请问各位大大,有没有解决的办法?谢谢!
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
走同样的路,发现不同的人生