用于参数化测试的多个类型列表

时间:2014-09-18 15:17:07

标签: c++ googletest

我目前正致力于使用Google Test编写的转换类进行单元测试。我想测试各种浮点类型,所以我找到了类型测试。但我的转换类本身提供了一堆类型(毫米,厘米,分米,米,公里为例 - 但我的转换有点棘手)。所以现在我想测试所有浮点类型的长度度量的所有可能组合。作为一个加号我已经为转换结果指定了输入和输出最小/最大值,这与转换到转换不同(例如,米到厘米的输入/输出值与厘米到公里的输入/输出值不同)。

我也知道参数化测试,但Google测试只允许将一个测试类型列在另一个测试类型之后。

我能做的就是编写这样的模板化结构:

template<class From, class To, class Value>
struct triple
{
  typedef From source;
  typedef To target;
  typedef Value value_t;
}

并创建一个测试::类型&lt; ...&gt;列出所有可能的组合。但这很麻烦,很难看,我仍然没有覆盖我的输入/输出边界值。

是否有办法让Google Test使用两个列表,一个包含浮点类型(floatdoublelong double)和一个仅包含组合的列表我的长度类型的度量?

0 个答案:

没有答案