scala断言专栏--标记你的测试
来源:互联网 发布:seo求职简历 编辑:程序博客网 时间:2024/06/08 00:27
英文原文:
http://www.scalatest.org/user_guide/tagging_your_tests
标记你的测试
ScalaTest允许您定义任意测试类别,将“标记”测试属于这些类别,并根据其标签过滤测试。例如,您可以将某些测试标记为缓慢,并选择在某些运行期间排除慢速测试。ScalaTest默认支持一个标签:ignore。您可以将测试标记为被忽略以暂时关闭测试。
标记测试被忽略
为了支持“临时”禁用测试的常见用例,有意在稍后复活测试,每种风格特征提供了将测试标记为忽略的方法。例如,在一个FlatSpec
你可以在更改it
或in
到ignore
:
import org.scalatest.FlatSpecimport scala.collection.mutable.Stackclass StackSpec extends FlatSpec { "A Stack" should "pop values in last-in-first-out order" in { val stack = new Stack[Int] stack.push(1) stack.push(2) assert(stack.pop() === 2) assert(stack.pop() === 1) } ignore should "throw NoSuchElementException if an empty stack is popped" in { val emptyStack = new Stack[String] intercept[NoSuchElementException] { emptyStack.pop() } }}
如果您
StackSpec
在Scala解释器中运行此版本,请执行以下操作:scala> (new StackSpec).execute()
它将仅运行第一个测试,并报告第二个测试被忽略:
A Stack- should pop values in last-in-first-out order- should throw NoSuchElementException if an empty stack is popped !!! IGNORED !!!
定义和使用您自己的标签
每种风格特征提供了一种标记测试的方式。FlatSpec
例如,为了标记测试,例如,将传递抽象类的对象传递org.scalatest.Tag
到taggedAs
之前in
。Class Tag
需要一个参数,一个字符串名称。以下是如何定义标记来标记需要数据库的测试:
import org.scalatest.Tagobject DbTest extends Tag("com.mycompany.tags.DbTest")
给定这个定义,你可以标记这样的
FlatSpec
测试:import org.scalatest.FlatSpecimport org.scalatest.tagobjects.Slowclass ExampleSpec extends FlatSpec { "The Scala language" must "add correctly" taggedAs(Slow) in { val sum = 1 + 1 assert(sum === 2) } it must "subtract correctly" taggedAs(Slow, DbTest) in { val diff = 4 - 1 assert(diff === 3) }}
此代码标记了两个测试与org.scalatest.tagobjects.Slow
标签,并"The Scala language should subtract correctly"
用com.mycompany.tags.DbTest
标签测试。
当执行套件时,可以根据其标签可选地包括和/或排除(即,过滤)测试。就是这样:
- 通过运行过滤测试
- 通过ScalaTest的蚂蚁任务进行过滤测试
注意:
最好在命令行操作,不要在ide集成开发工具中编写。
阅读全文
0 0
- scala断言专栏--标记你的测试
- scala断言专栏--使用idea运行你的测试
- scala断言专栏--选择项目的测试样式
- scala断言专栏--使用断言
- scala断言专栏--入门
- scala断言专栏--为项目定义基类
- 安全性断言标记语言
- 断言测试
- 断言测试
- scala unapply的测试
- Java- 断言及程序的测试JUnit
- 安全性断言标记语言 SAML
- SAML(安全断言标记语言)
- 【web测试专栏】服务器端模块测试需求的深度挖掘
- 你学会测试了吗(3):测试语法之断言介绍
- junit测试hamcrest断言
- 编译期断言测试
- Junit测试,断言
- jQuery和js节点创建与属性的处理的区别
- 论.gitignore文件
- Bootstrap基础11——缩略图thumbnail
- maven的动态web项目从搭建到运行完整示例(dark亲测可用)
- 使用MIGTIME分析导出导入时间
- scala断言专栏--标记你的测试
- Android 沉浸式设计兼容基础类
- RandomAccessFile类的使用介绍
- 2的(幂)n次方实现方式比较
- JAVA内存区域之堆
- Andorid so加载流程图(4.4.4_r1)
- CSU 1775: 悲催的移寝 <贪心>
- nyoj 题目 心急的c小加 贪心算法
- 【css3】animation