在ScalaTest中使用HavePropertyMatcher收集元素?

Ori*_*Ori 5 unit-testing scala scalatest

我一直在使用ScalaTest的FeatureSpec几天,我试图了解是否可以使用内置匹配器定义以下规范(如果没有,我如何编写合适的自定义匹配器).

假设我有班级书:

case class Book(val title: String, val author: String)
Run Code Online (Sandbox Code Playgroud)

在我的测试中,我有一份书籍清单:

val books = List(Book("Moby Dick", "Melville"))
Run Code Online (Sandbox Code Playgroud)

现在,我想指出书籍清单应该包含一本标题为"Moby Dick"的书.我想写一些类似的东西:

books should contain (value with title "Moby Dick")  
Run Code Online (Sandbox Code Playgroud)

如果可以在ScalaTest中表达这个要求,我似乎无法从文档和代码中找出答案.有没有人遇到过类似的情况?

Bil*_*ers 2

目前还不行,尽管您将来很快就可以做这样的事情。你现在可以做的是:

books.exists(_.title == "Moby Dick") should be (true)
Run Code Online (Sandbox Code Playgroud)