Google 测试测试参数数组的最大尺寸太小

问题描述 投票:0回答:1

我正在使用 Google 的 C++ 测试框架(nuget 包 Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn,版本 1.8.1.7),并且我正在参数化测试。当参数数组太大时,我遇到了问题:在一个简单的情况下,有两个参数

2
96
,如下所示:

INSTANTIATE_TEST_CASE_P(
    PricingTests,
    Bulk1,
    ::testing::Values(2,96));

没问题,因为我们有

template <typename T1, typename T2>
internal::ValueArray2<T1, T2> Values(T1 v1, T2 v2) {
  return internal::ValueArray2<T1, T2>(v1, v2);
}

template <typename T1, typename T2>
class ValueArray2 {
 public:
  ValueArray2(T1 v1, T2 v2) : v1_(v1), v2_(v2) {}

  template <typename T>
  operator ParamGenerator<T>() const {
    const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_)};
    return ValuesIn(array);
  }

  ValueArray2(const ValueArray2& other) : v1_(other.v1_), v2_(other.v2_) {}

 private:
  // No implementation - assignment is unsupported.
  void operator=(const ValueArray2& other);

  const T1 v1_;
  const T2 v2_;
};

在框架中允许处理两个参数的数组。 Google 很好,实现了

ValueArray50
之前的所有内容。但我有一个包含 6000 多个参数的数组,每个参数代表我必须测试的不同测试类型。

c++ googletest
1个回答
0
投票

大约 6 年前在 1.2.0 版本中进行了更改:值参数化测试和许多错误修复。您需要更新 GoogleTest。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.