【个人项目数独】6、代码分析与单元测试

代码分析

对Sudoku项目运行代码分析结果如下:
【个人项目数独】6、代码分析与单元测试
由于在编写代码时考虑的比较多,所以经过代码分析只有一个关于strlen函数的warning,经了解,strlen()的返回值类型是unsinged int,而我将它赋给了int,类型不匹配。
稳妥起见可以做一个强制类型转换。警告消除
【个人项目数独】6、代码分析与单元测试
????妥了
【个人项目数独】6、代码分析与单元测试

单元测试

在同一解决方案下新建一个测试项目,名为UnitTest1,然后看了一下官网的文档和博客大致学了一下怎么写,这里要注意就是要把要测试的项目里所有的源文件和头文件都包含在UnitTest1.cpp里,编写完之后就可以运行测试了。
在对单元测试的设计上我首先设计了对输入参数的处理部分的测试,检查对输入合法与不合法的判断情况,然后对生成终局部分进行了测试,主要是判断是否终局成功生成到了指定文件中,最后对求解数独部分进行了测试,手动设定一个唯一解的数独题目,然后判断是否成功求解。
我这里一共设计了13个单元测试,详细的测试代码见GitHub。
测试结果如下:
【个人项目数独】6、代码分析与单元测试
要查看覆盖率时我发现只有企业版才有这个功能……
行吧,老老实实去装企业版了。(顺便把前面没能放上的函数图加上)

【个人项目数独】6、代码分析与单元测试成功进行代码覆盖率分析之后可以看到覆盖率达到了近90%,基本足够了。