关于单元测试,本来是不太明白在Visual Studio上怎么操作,参考了一下微软的官方文档: 单元测试入门,以及找到的一位往届同学的博客: https://blog.csdn.net/qq_38597315/article/details/79650763,然后才知道怎么进行单元测试。
我一共设计了7个单元测试,主要从输入参数的处理以及生成数独终局,和求解数独问题的方面考虑。
在进行单元测试的过程中,曾经遇到过出现了以下错误:
感觉在项目进行的过程中总时遇到各种奇奇怪怪的错误,不过,还是在参考上面那位同学的博客后发现是没有包含头文件的问题。然后我就加上了以下一些头文件:
#include "pch.h"
#include "CppUnitTest.h"
#include"../MySudoku/stdafx.h"
#include"../MySudoku/Sudoku.cpp"
#include"../MySudoku/InputControl.cpp"
然后就可以成功通过测试啦
不过真的感慨网上的资料真的是好,让我自己找不知道什么时候才能完成这个单元测试。
还曾经遇到过我的第五个测试无法通过,还真的找出来自己程序中的一个错误,因为之前都是在Windows控制台下进行操作,当输入生成终局数目个数小于1或大于1000000时,就会直接退出程序,就忽略了我在代码中对于Input这个类中的num和type的值的修改,是放在了判断参数大小之前,虽然于程序运行结果没有什么影响,但还是一个错误。
我之所以感到比较惊讶是因为我在做单元测试之前,就以及自己测试过很多很多遍了,但是都没有找到这个问题,亲身证明单元测试还是很有用处的。
老师的要求里面还有一项是使用插件查看测试分支覆盖率等指标,这项功能需要Visual Studio Enterprise版本才能使用,我的版本为Community,所以就没能够进行这方面的检测。