首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScalaCheck嵌套Gen

ScalaCheck嵌套Gen
EN

Stack Overflow用户
提问于 2016-07-01 19:34:45
回答 1查看 208关注 0票数 0

在ScalaCheck中,一个映射/平面映射的Gen似乎会在任何内部根都过滤掉一个值之后就会失败。例如(使用ScalaTest)

代码语言:javascript
复制
class ScalaCheckGen extends FreeSpec with GeneratorDrivenPropertyChecks {
  "Fails" in {
    forAll(Gen.listOfN(100, arbitrary[Int].suchThat(_ % 2 == 0))){
      _ => assert(true)}

    //Gave up after 0 successful property evaluations. 51 evaluations were discarded.
  }

  "Passes" in {
    forAll(Gen.listOfN(100, arbitrary[Int].map(_ * 2))){
      _ => assert(true)}
  }
}

假设由于suchThat条件复杂,上述琐碎的解决方案无法工作。如何在仍然使用suchThat的情况下重写它来工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-02 18:41:52

suchThat替换为retryUntil,但要注意无限循环。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38152825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档