单元测试
用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.测试结果
由上图可知,测试后未发生错误,测试完成。