intellij idea - Simple test with Scala Test 1.2 -


i'm trying run test using scala 2.8 in intellij 10 scala test 1.2

i don't know scala syntax, can this code ? :)

package test.ui {  import org.scalatest._ import matchers.shouldmatchers import ui._ import observer._  object buttonobserverspecification extends spec {   "a button observer should observe button clicks" in {       val observablebutton = new observablebutton("okay")       val buttonobserver = new buttoncountobserver       observablebutton.addobserver(buttonobserver)        (i <- 1 3) observablebutton.click()       buttonobserver.count should equal (3)     }   } } 

the error :

error: value in not member of java.lang.string "a button observer should observe button clicks" in { 

here rest of code :

package ui {  abstract class widget  class button(val label: string) extends widget {   def click() = {     println (label + " clicked")   } }  }  package observer {  trait subject {   type observer = {def receiveupdate(subject: any)}   private var observers = list[observer]()    def addobserver(observer: observer) = observers ::= observer    def notifyobservers = observers foreach (_.receiveupdate(this)) }  }  package ui {  import observer._  class observablebutton(name: string) extends button(name) subject {   override def click() = {     super.click()     notifyobservers   } }  class buttoncountobserver {   var count = 0    def receiveupdate(subject: any) = count += 1 }  } 

the code book "programming scala" oreilly

i tried updating code scala test 1.2, failed. here original test (notice imports , extended class):

package ui import org.specs._ import observer._  object buttonobserverspec extends specification {   "a button observer" should {     "observe button clicks" in {       val observablebutton = new observablebutton("okay")       val buttonobserver = new buttoncountobserver       observablebutton.addobserver(buttonobserver)        (i <- 1 3) observablebutton.click()       buttonobserver.count mustequal 3     }   } } 

trial number 3 (error no tests found) :

package test.ui {  import org.scalatest._ import matchers.shouldmatchers import ui._ import observer._ import org.scalatest.junit.junitrunner import org.junit.runner.runwith  @runwith(classof[junitrunner]) object buttonobservertest extends wordspec shouldmatchers {   "a button observer" should {     "observe button clicks" in {       val observablebutton = new observablebutton("okay")       val buttonobserver = new buttoncountobserver       observablebutton.addobserver(buttonobserver)        (i <- 1 3) observablebutton.click()       buttonobserver.count should equal (3)     }   } } } 

working test :

package test.ui {  import org.scalatest.wordspec import org.scalatest.matchers.shouldmatchers import ui._ import observer._  class buttonobservertest extends wordspec shouldmatchers {   "a button observer" should {     "observe button clicks" in {       val observablebutton = new observablebutton("okay")       val buttonobserver = new buttoncountobserver       observablebutton.addobserver(buttonobserver)        (i <- 1 3) observablebutton.click()       buttonobserver.count should equal (3)     }   } } } 

ps : if don't know how run scala tests in intellij, see this blog post - intellij supports scalatest

i think need extend wordspec shouldmatchers :

class buttonobserverspec extends wordspec shouldmatchers {...} 

you can find more examples here:

http://www.scalatest.org/getting_started_with_bdd


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -