我已經創建並使用Lists
和適當類型的一些外部Scalacheck生成器,使用Gen.oneOf(List[T])
。我認爲偶爾有用的是返回一個空值的佔位符。目前該列表已填充。我應該怎麼做呢?我是否試圖將一個空的類型追加到列表的末尾?如果是這樣,我該怎麼做?如果沒有,我還能如何讓我的發生器添加一個空值。這看起來很簡單,但我現在無法搞清楚。屬性檢查應該在Scalatest中失敗
import org.scalatest.FlatSpec
import org.scalacheck.Gen
import org.scalacheck.Prop.exists
import org.scalatest.prop.PropertyChecks
class EventFieldGeneratorTest extends FlatSpec with PropertyChecks {
behavior of "Gen.option"
it should "occasionally return None" in {
val colors = Gen.oneOf("Blue", "Red", "Green", "Yellow")
val opt = Gen.option(colors)
val list = Gen.listOfN(20, opt)
val p1 = exists(list)(_ == None)
p1.check
}
}
有人可以解釋爲什麼我的測試放棄嗎?
Testing started at 10:31 AM ... ! Gave up after only 0 passed tests. 501 tests were discarded.
Process finished with exit code 0
我該如何將該標記標記爲ScalaTest的失敗結果?對我來說使用Flatspec
是不是一個好主意?
也許我應該使用比check
以外的東西......
這是我習慣了排序的文檔。在Scalatest頁:
http://www.scalatest.org/user_guide/writing_scalacheck_style_properties