我在Specs2中编写了一个ScalaCheck测试用例。测试用例放弃了,因为丢弃了太多测试。但是,它没有告诉我为什么它们被丢弃了。我怎样才能找出原因?
答案 0 :(得分:3)
在org.scalacheck.Gen.fail
方法上设置一个断点,看看它正在调用它。
顺便说一句,在我的情况下,问题是双重的:
我已将maxDiscarded
设置为一个太小的值(1),因为我太乐观了 - 我没有意识到ScalaCheck默认情况下会从0大小的集合开始如果我要求非空集合(我不知道为什么会这样做)。
我正在生成大小为1及以上的集合,尽管如我后来所知,它们的大小应该是2及以上我试图测试的 - 这导致进一步基于该生成器在以后的生成器中丢弃。