我正在寻找一种在 C++ 中对我的模板化方法、类和函数进行单元测试的好方法。 我有一种感觉,仅仅使用单一类型进行测试是不够的,仅仅复制单元测试并替换类型也感觉不对。
更具体地说,我正在研究一个 Matrix 类并使用 Boost 的单元测试框架。 Matrix 适用于不同类型。它主要用于基本类型,但我希望它也支持具体类型。
注意,我这样做是为了学习,这就是为什么我没有使用现有的矩阵实现。
最佳答案
Boost 测试有一个宏 BOOST_AUTO_TEST_CASE_TEMPLATE 对 boost::mpl::list 中每种类型的模板运行测试。
template<typename T>
T Add(T lh, T rh)
{
return lh + rh;
}
typedef boost::mpl::list<int, float> test_types;
BOOST_AUTO_TEST_CASE_TEMPLATE(Add_1Plus2_Is3, T, test_types)
{
T result = Add(T(1), T(2));
BOOST_CHECK_EQUAL(T(3), result);
}
关于c++ - 什么是单元测试模板化 C++ 方法/类/函数的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10247061/