注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

ScalaTest User Guide3  

2014-07-04 23:18:47|  分类: Scala |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
ScalaTest User Guide

Getting started

Selecting testing styles

Defining base classes

Writing your first test

Using assertions

Tagging your tests

Running your tests

Sharing fixtures

Sharing tests

Using matchers

Testing with mock objects

Property-based testing

Using Selenium

Other goodies

Philosophy and design

Migrating to 2.0

Writing your first test

1. In ScalaTest, you define tests inside classes that extend a style class such as FlatSpec (though in practice you'd usually directly extend a base class defined for your project, which extends a ScalaTest style class):

import org.scalatest.FlatSpec

class FirstSpec extends FlatSpec { // tests go here... }

2. Each test in a FlatSpec is composed of a sentence that specifies a bit of required behavior and a block of code that tests it. The sentence needs a subject, such as "A Stack"; a verb, either should, must, or can; and the rest of the sentence. Here's an example:

"A Stack" should "pop values in last-in-first-out order"

If you have multiple tests about the same subject, you can use it to refer to the previous subject:

it should "throw NoSuchElementException if an empty stack is popped"

After the sentence you put the word in followed by the body of the test in curly braces. Here's a complete example:

import collection.mutable.Stack
import org.scalatest._

class 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) }
it should "throw NoSuchElementException if an empty stack is popped" in { val emptyStack = new Stack[String] intercept[NoSuchElementException] { emptyStack.pop() } } }

3. Place this in a file called StackSpec.scala and compile it using this Jar file:

$ scalac -cp scalatest_2.11.0-2.2.0.jar StackSpec.scala

4. You can run it from the command line by invoking ScalaTest's simple Runner:

$ scala -cp scalatest_2.11.0-2.2.0.jar org.scalatest.run StackSpec
Run starting. Expected test count is: 2
StackSpec:
A Stack 
- should pop values in last-in-first-out order
- should throw NoSuchElementException if an empty stack is popped
Run completed in 96 milliseconds.
Total number of tests run: 2
Suites: completed 1, aborted 0
Tests: succeeded 2, failed 0, ignored 0, pending 0
All tests passed.

5. Or you can run it from the Scala interpreter using the ScalaTest shell:

$ scala -cp scalatest_2.11.0-2.2.0.jar

scala> import org.scalatest._
import org.scalatest._

scala> run(new StackSpec)
StackSpec:
A Stack 
- should pop values in last-in-first-out order
- should throw NoSuchElementException if an empty stack is popped

Next, learn about using assertions.

ScalaTest is brought to you by Bill Venners, with contributions from several other folks. It is sponsored by Artima, Inc.
ScalaTest is free, open-source software released under the Apache 2.0 license.

Copyright ? 2009-2013 Artima, Inc. All Rights Reserved.

artima

  评论这张
 
阅读(413)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017