scala学习14之scalatest中的intercept使用
2016-05-20 19:25
274 查看
scalatest中的intercept中可以测试某种错误而顺利运行,比如:
就可以检测merge是否有AssertionError,如果有则通过
AssertionError:
表达式 assert(condition) 将在condition条件不成立的时候抛出 AssertionError。
scalatest中代码:
其中merge为:
参考
【1】 http://blog.sina.com.cn/s/blog_a3869e9a01017dcn.html
intercept[AssertionError] { target1.merge(target2) }
就可以检测merge是否有AssertionError,如果有则通过
AssertionError:
表达式 assert(condition) 将在condition条件不成立的时候抛出 AssertionError。
scalatest中代码:
sparkTest("joining simple realignment targets on different chr throws exception") { val target1 = new IndelRealignmentTarget(Some(ReferenceRegion("1", 10, 16)), ReferenceRegion("1", 1, 21)) val target2 = new IndelRealignmentTarget(Some(ReferenceRegion("2", 10, 16)), ReferenceRegion("2", 6, 26)) intercept[AssertionError] { target1.merge(target2) } }
其中merge为:
def merge(target: IndelRealignmentTarget): IndelRealignmentTarget = { assert(readRange.isAdjacent(target.readRange) || readRange.overlaps(target.readRange), "Targets do not overlap, and therefore cannot be merged.") val newVar = (variation, target.variation) match { case (Some(v), Some(tv)) => Some(v.hull(tv)) case (Some(v), _) => Some(v) case (_, Some(tv)) => Some(tv) case _ => None } new IndelRealignmentTarget(newVar, readRange.merge(target.readRange)) }
参考
【1】 http://blog.sina.com.cn/s/blog_a3869e9a01017dcn.html
相关文章推荐
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- Scala代码实现列出Hadoop 文件夹下面的所有文件
- ClassNotFoundException:scala.PreDef$
- sbt创建web项目
- XML 文件解析--含Unicode字符的XML文件
- Scala 学习随笔
- Scala 小程序记录(学习期间的代码片段)
- Spark机器学习(二) 局部向量 Local-- Data Types - MLlib
- Spark机器学习(三) Labeled point-- Data Types
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Scala实现REST操作
- Scala method call syntax
- 关于Scala多重继承的菱形问题
- Scala 高阶函数(high-order function)剖析
- Scala Monad Design Pattern
- Spray.io搭建Rest服务
- Spray.io搭建Rest — 支持Twirl模板并部署