单元测试
用visual studio 2017自带的单元测试对c++类进行测试过程如下:
一.写一个c++的类代码如下图所示
头文件:
class test
{
private:
    int x, y, z, sum;
public:
    test(int x, int  y, int z);
    int output();
        ~test();
};定义文件:
#include "stdafx.h"
#include "test.h"
test::test(int x = 0, int  y = 0, int z = 0) 
{
    sum = x;
    this->x = x;
    this->y = y;
    this->z = z;
    if (x > y && x > z) {
        y = 2 * y;
            z = 2 * z;
    }
    if (y > 7 || z < 10) {
        sum += y + z;
    }   
}
int test::output(){
    return  sum;
}
test::~test()
{
}二.创建测试单元并测试
1.测试单元工程创建如下:

2.配置后(过程略),完善测试方法。
采用组合覆盖法选取 x y z 的值分别为(10,5,4),(6,-3,7),(15,20,12),(-8,6,13)
预期输出依次为 (28,10,47,-8)
测试方法代码如下:
namespace UnitTest1
{       
    TEST_CLASS(UnitTest1)
    {
    public:
        TEST_METHOD(TestMethod1)
        {
            // TODO: 在此输入测试代码
            test a(10, 5, 4);
            Assert::AreEqual(28, a.output());
        }
        TEST_METHOD(TestMethod2)
        {
            // TODO: 在此输入测试代码
            test b(6, -3, 7);
            Assert::AreEqual(10, b.output());
        }
        TEST_METHOD(TestMethod3)
        {
            // TODO: 在此输入测试代码
            test c(15, 20, 12);
            Assert::AreEqual(47, c.output());
        }
        TEST_METHOD(TestMethod4)
        {
            // TODO: 在此输入测试代码
            test c(-8, 6, 13);
            Assert::AreEqual(-8, c.output());
        }
    };
}3.测试结果

由上图可知,测试后未发生错误,测试完成。
