1

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

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

加载数据后有什么方法可以运行测试?

4

3 回答 3

1

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

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

于 2012-09-23T18:35:38.783 回答
0

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

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

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

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

它可以在这里https://github.com/hfossli/AGWaitForAsyncTestHelper

于 2013-07-26T10:10:35.820 回答
-1

只需在setUp测试用例的例程中获取数据。

于 2012-09-23T18:22:11.440 回答