Visual Studio 2017 新建 C++ 单元测试

在 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);
        }

    };
}

最后选择“测试”菜单中的“运行”->“所有测试”,即可看到测试结果。