假设我正在编写一个模板库,其中包含一个函数模板。
template<T> void f(T);
要求它能够与预定义的 A、B、C 和 D 类一起使用,例如,以下代码必须编译通过:
template<> void f(A);
template<> void f(B);
template<> void f(C);
template<> void f(D);
有什么测试框架可以帮我编写测试用例,在运行时捕获需求,而不是在测试代码编译期间失败?换句话说,我希望该框架能够在运行时实例化模板,并在其中子集失败时生成格式良好的错误报告。
我知道我可以放弃测试框架,只需编写一个包含上述4行的简单cc文件。但我希望将这个需求纳入常规标准测试用例中,以生成测试状态报告。例如:
test f works with A: passed.
test f works with B: passed.
test f works with C: failed! Cannot cast type C!
test f works with D: passed.
3 of 4 tests passed.
1 of 4 tests failed.