您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页Visual Studio Cpp 单元测试

Visual Studio Cpp 单元测试

来源:二三四教育网

如果您只是想尽快的上手单元测试, 只看这个大标题下的内容就行了

这个是源代码, 使用的版本是vs 2015,
[Notice:]
需要一提的一个难点就是你可能遇到, 一个问题就是:
Linker Tools Error LNK2011: precompiled object not linked in; image may not run
这个问题是因为你没有Addstdafx.obj文件。

建立你自己的需要测试的函数, 我们这里用一个简单的cpp控制台程序

  1. 创建待测试项目: CppTest2
  2. 在解决方案下, 创建一个UnitTestProject。
  3. 绑定单元测试项目和待测试项目(CppTest2), 核心就是添加待测试项目CppTest2的obj文件。
  1. 添加附加库路径, 找到你CppTest2文件的obj文件的


    Add Additional Library Directories
  1. 添加附加库文件, 这里需要注意的是, 你需要添加两个文件, 不仅仅是CppTest2.obj, 还有stdafx.obj, 不然就会出现LNK2011这个链接错误。


    06~30_15-33-16.bmp
  1. 简介UnitTest里面文件的内容。

主要包括两个方面的东西

  1. TEST_CLASS 2. TEST_METHOD
#include "stdafx.h"
#include "CppUnitTest.h"
#include "..\CppTest2\CppTest2.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest
{       
    TEST_CLASS(CppTest2UT)
    {
    public:
        CppTest2UT()
        {
            m_pCppTest = new CppTest2();
        }
        ~CppTest2UT()
        {
            delete m_pCppTest;
        }
        TEST_METHOD(AddTest)
        {
            // TODO: Your test code here
            Assert::AreEqual(2, m_pCppTest->Add(1, 1), 0);
        }
        
        CppTest2 * m_pCppTest;
    };
}
  1. 最后就是在TEST_EXPLORER里面: 点击运行RunAll就好了


    06~30_15-31-26.bmp

分析问题

从哪里开始:

我们不讲什么复杂的理论, 只是举一个简单的例子:
比如现在我们写了一个Add 函数, 在文件calculator.cpp中, 属于类calculator

int calculator::Add(int a, int b)
{
    return a + b;
}

我们想对这个函数进行测试, 首先我们要能够从外部(另一个文件中)引用这个函数, 然后传递一些参数进去, 最后验证结果是不是我们要的。

好了, 我们引出了下一个大的问题, 引用需要测试的函数。

引用测试函数

这个问题包括了两个主要的方向
在哪里引用测试函数, 和怎么引用测试函数。

  1. 在哪里引用测试函数:
    这里我们需要在一个测试的框架中引用这个东西

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务