如何在Scala中进行单元测试

时间:2014-04-10 16:27:38

标签: scala unit-testing

我正在尝试学习scala(以及单元测试的概念)。

我有一个对象

object Foo{
          def parse(s:String): Array[String] = {
              return s.split(",")
           }

       }

一个非常简单的代码块..但现在我想编写单元测试?

我的代码结构是:

src/main/scala/foo.scala
   src/test/scala/(empty)

我正在使用sbt编译并运行?

由于

2 个答案:

答案 0 :(得分:3)

将其放在src/test/scala/FooSpec.scala

import org.specs2.mutable.Specification

class FooSpec extends Specification {
  "Foo" should {
    "parse a String" in {
      Foo.parse("a,b") == Array("a","b")      
    }
  }
}

然后在sbt提示符下,您可以运行test

要使其工作,您需要在build.sbt中添加对规范2的依赖as explained in the documentation

libraryDependencies ++= Seq(
    "org.specs2" %% "specs2" % "2.3.11" % "test"
)

答案 1 :(得分:2)

这是一个非常大的话题。

我支持Specs2及其Mockito和ScalaCheck支持。所有这些都有很好的文档,所以我建议你先从网上查找它们。