Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Specs2 中编写了一个 ScalaCheck 测试用例。测试用例放弃了,因为太多的测试被丢弃了。但是,它并没有告诉我为什么它们被丢弃。我怎样才能找出原因?
在方法上设置断点org.scalacheck.Gen.fail并查看调用它的内容。
org.scalacheck.Gen.fail
顺便说一句,就我而言,问题是双重的:
我设置maxDiscarded的值(1)太小了,因为我太乐观了——我没有意识到 ScalaCheck 会默认从大小为 0 的集合开始,即使我要求一个非空集合(我不知道为什么会这样)。
maxDiscarded
我正在生成大小为 1 及以上的集合,尽管正如我后来意识到的那样,对于我试图测试的内容,它们应该是大小为 2 及以上的集合——这导致基于该生成器的后续生成器进一步丢弃。