在 Visual Studio 2017 中,如果想要为一个 C++ 项目新建单元测试,首先在解决方案上右键,选择“添加”->“新建项目”,出现如图的对话框
选择 Visual C++ 的测试后,选择“本机单元测试”,点击确定生成测试项目。
右键单元测试项目中的“引用”,选择添加引用,弹出对话框:
勾上需要测试的项目后,点击确定。
之后打开 unittest1.cpp 编辑测试代码,在访问需要的类的时候,需要 #include
相关文件,需要注意相对路径。但是在本机上,包含 .h
头文件的话生成解决方案的时候会出现 LNK2019
错误。一个解决办法是 #include
cpp 文件。参考代码如下:
#include "stdafx.h"
#include "CppUnitTest.h"
#include "../PhyCal/Rational.cpp" // 包含 .cpp 文件而不是 .h 文件
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest1
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
Rational n(2, 2);
Assert::AreEqual(n.getNumerator(), 1l);
Assert::AreEqual(n.getDenominator(), 1l);
Rational p(6, 2);
Assert::AreEqual(p.getNumerator(), 3l);
Assert::AreEqual(p.getDenominator(), 1l);
}
};
}
最后选择“测试”菜单中的“运行”->“所有测试”,即可看到测试结果。