import org.scalatest._
@DoNotDiscover
class SetSpec extends FlatSpec {
"An empty Set" should "have size 0" in {
assert(Set.empty.size === 0)
}
it should "produce NoSuchElementException when head is invoked" in {
intercept[NoSuchElementException] {
Set.empty.head
}
}
}
6条答案
按热度按时间dgtucam11#
在1.8中,实现这一点的简单方法是添加一个接受伪参数的构造函数。如果类没有公共的、无参数的构造函数,ScalaTest(和SBT)就不会发现它:
在2.0中,您只需在类中编写@Ignore:
ccrfmcuu2#
您可以使用@Ignore进行不同的测试和整个测试。
ddhy6vgd3#
根据scalatest文档,假设您有这样的测试套件
要仅禁用单个测试,可以使用
ignore()
方法。siotufzp4#
Tag这些麻烦的测试,然后根据标签排除或包括测试。
标记是一次性的工作。
wgmfuz8q5#
标签是一种选择,但您需要相应地为每个测试添加标签,不能以这种方式排除完整的套装。然而,正如用户272735提到的,标记测试是一次性的工作。
另一种选择是定义一个主套件,并将
nestedSuites
的列表限制为您想要运行的套件(请参阅文档)。明显的缺点是,您必须维护主测试套件,即向其添加新创建的测试套件。你可以通过递归遍历你的文件夹,创建一个所有可以找到的测试服的列表,然后减去你放入黑名单中的那些,来避免这种情况。此外,递归浏览您的文件夹已经为您提供了筛选出符合(外部)给定标准的文件的机会。第三个选择是改变你想要列入黑名单的套房所属的套餐--尽管更加老套。然后,您可以使用测试跑步器来仅运行某些包中包含的套装。有关详细信息,请参阅文档“指定‘仅成员’和‘通配符’套件路径”一节。
cvxl0en26#
使用*@DoNotDiscover*
从scaladoc: