我正在为我的 sqlite 数据库类编写单元测试用例。我在那个类中有五个公共 API。
我的测试用例如下所示:
+ (void)setUp { // Note, this is class method and hence called only once during start of this test suite.
// Code to delete the existing sqlite DB file.
}
- (void)testDBManagerSingletonInstance {
DBManager *dbMgr = [DBManager getSharedInstance];
DBManager *dbMgr1 = [[DBManager alloc] init];
XCTAssertEqualObjects(dbMgr, dbMgr1);
}
- (void)testSaveAndDeleteNicknameAPI {
// Multiple Assert statements in this test.
}
- (void)testAllAccountStatusAPIs {
// Multiple Assert statements in this test.
}
每个单一的单元测试都在没有任何错误的情况下执行。但是在执行整个测试套件时它会失败。
可能,我知道失败的根本原因。这是因为当执行整个测试套件时,所有测试都会并行运行,并且数据库中会同时发生更新-删除。因此,当所有单元测试运行时,它将失败。
但我不知道如何解决这个问题,因为这不是异步的,因此我不能使用XCExpectation
类。
需要帮助来解决和理解问题。