Ios 手动启动测试用例(SenTestCase)?测试前需要等待一些后台任务

Ios 手动启动测试用例(SenTestCase)?测试前需要等待一些后台任务,ios,multithreading,sentestingkit,Ios,Multithreading,Sentestingkit,我在后台从磁盘加载了一些数据 我的测试应该在运行时存储区填充之后运行,但是现在测试与我的加载并行运行,这当然会导致空对象,所以测试失败 在我的数据加载后运行测试有什么方法吗?只需在测试用例的设置例程中提取数据即可 首先,尽量减少对同步任务的单元测试。逻辑测试的设计应尽量减少对其他组件的依赖 这就是说,如果您坚持这样做,您可以构建异步测试,有时也有一些正当的理由,只是不太常见。 看看-它为此类测试提供了许多基类 我真的可以推荐我的开源项目。您可以这样编写异步测试 - (void)testSomet

我在后台从磁盘加载了一些数据

我的测试应该在运行时存储区填充之后运行,但是现在测试与我的加载并行运行,这当然会导致空对象,所以测试失败


在我的数据加载后运行测试有什么方法吗?

只需在测试用例的设置例程中提取数据即可

首先,尽量减少对同步任务的单元测试。逻辑测试的设计应尽量减少对其他组件的依赖

这就是说,如果您坚持这样做,您可以构建异步测试,有时也有一些正当的理由,只是不太常见。
看看-它为此类测试提供了许多基类

我真的可以推荐我的开源项目。您可以这样编写异步测试

- (void)testSomethingAsync
{
    __block BOOL jobDone = NO;

    [CEO asyncFireAllEmployes:^{
        jobDone = YES; 
    }];

    WAIT_WHILE(!jobDone, 0.2); // stalls runloop until jobDone is true
}

这里有它

听起来很酷,除了这一点:有时,当测试失败时,SenAsyncTestCase不会打印任何日志或错误。断点也不起作用。看起来这是因为SenTestingKit如何运行测试用例。。。但不知道为什么。我想我制作了一个用于测试的同步加载版本。我使用了上面提到的,从来没有遇到过任何问题。没有评论的向下投票,好吧,谢谢你费心点击。很抱歉,但问题是关于异步的东西。如果我在设置中触发了异步内容,那么测试将在启动加载后立即调用,而不是在加载完成后调用。