编写功能、业务代码的时候一般会遵循kiss原则,所以类、方法、函数往往不会太大,分层设计越好、职责越单一、耦合度越低的代码越适合做单元测试,单元测试也倒逼开发过程中代码分层、解耦。
可能某个功能的实现代码有30行,测试代码有50行。单元测试的代码如何编写才更合理、整洁、规范呢?
编码分模块展开先贴一段代码:
-(void)testInsertDataInOneSpecifiedTable{XCTestExpectation*exception=[selfexpectationWithDescription:"测试数据库插入功能"];//given[dbInstanceremoveAllLogsInTableType:HCTLogTableTypeMeta];NSMutableArray*insertModels=[NSMutableArrayarray];for(NSIntegerindex=1;index=;index++){HCTLogMetaModel*model=[[HCTLogMetaModelalloc]init];model.log_id=index;//...[insertModelsaddObject:model];}//when[dbInstanceadd:insertModelsinTableType:HCTLogTableTypeMeta];//then[dbInstancerecordsCountInTableType:HCTLogTableTypeMeta