ScalaTest - 如何验证集合包含子类

时间:2016-09-30 18:05:59

标签: scala scalatest

使用ScalaTest,它可以直接测试一个对象属于特定类,具体如下:

myPet shouldBe a [Dog]

但我想要做的是验证某个基类型的集合至少有一个特定的子类型。我认为语法可能看起来像这样,但它不起作用:

myPets should contain a [Cat]

我可以用'存在'来实现相同的结果。并且'应该是真的'但它并不那么具有表现力。

myPets.exists(_.isInstanceOf[Cat]) shouldBe true

这是我必须做的,还是ScalaTest的一个功能,我不知道?

谢谢

1 个答案:

答案 0 :(得分:2)

atLeast(1, myPets) shouldBe a [Cat]应该有用,我相信(目前无法根据http://www.scalatest.org/user_guide/using_matchers#inspectorShorthands的示例进行测试。)