环境
本次使用的是Microsoft Visual Studio 2019 Community,针对使用C++语言编写的项目进行单元测试。
待测项目
本程序是为了实现一个居民用电阶梯收费程序,在程序开始,输入本月用电量,在180度以内,按照每度电0.50元进行收费,超过180度但少于280度的部分按照每度电 0.55元收费,超过280度的部分按照每度电0.85元收费。程序最后输出改用户本月共计缴纳电费情况。
//沈阳居民用电标准程序#includeusing namespace std;double fee(double a){ double b=0; if (a <= 180) b = a * 0.50; else { if (a >= 281) b = (a - 280) * 0.85 + 100 * 0.55 + 180 * 0.50; else b = (a - 180) * 0.55 + 180 * 0.50; } return b;}int main(){ double x; double y; cin >> x; y = fee(x); cout << y << endl; return 0;}
单元测试
这里使用 Microsoft Visual Studio 2019 Community自带的单元测试项目进行此项测试。下列图片为创建截图:
创建完成后,针对于我的源文件,我选择添加了几组数据,进行了测试,代码如下:
#include "pch.h"#include "CppUnitTest.h"extern double fee(double);using namespace Microsoft::VisualStudio::CppUnitTestFramework;namespace UnitTest1{ TEST_CLASS(UnitTest1) { public: TEST_METHOD(TestMethod1) { double f = fee(45.0); Assert::AreEqual(f, 22.5, DBL_EPSILON); } TEST_METHOD(TestMethod2) { double f = fee(180.0); Assert::AreEqual(f, 90.0, DBL_EPSILON); f = fee(280.0); Assert::AreEqual(f, 145.0, DBL_EPSILON); } };}
测试后发现完全正确!运行结果如下图: