【问题标题】:Random parameters generation in googletest parameter testsgoogletest 参数测试中的随机参数生成
【发布时间】:2018-09-08 20:11:53
【问题描述】:

我想为我的参数化 googletest 测试生成一些随机值。这里出现两个问题:

  1. 我想使用内置的 C++ rand() 函数,但生成的数字在所有测试中重复。然后,我尝试使用GetParam() 作为种子,但是我无法将此函数返回的值分配给 srand() 函数。它附加了将 const 转换为非常量转换的必要性的问题,我使用了 static_cast 的不同变体,以及从 const int 到 long int* 的 const_cast,但甚至没有编译过。
  2. 也许 Google 测试中有一个内置函数可以生成用于测试的随机变量集?我翻阅了文档,但几乎没有任何内容。

【问题讨论】:

标签: c++ testing random googletest


【解决方案1】:

1) According to CppReference srand() 需要 unsigned 作为参数。您是否使用unsigned 作为参数化测试的参数类型? (旁注:在这里看到给您带来麻烦的代码会真的有用...)

2) 据我所知。但是没有什么可以阻止您使用普通的 int 作为类型参数,并将其输入到一个从中生成伪随机值的函数中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多