7
我只是以下斯卡拉食譜簡單scalatest項目不會被編譯
但是,如果我試圖運行基本的測試,它不會因爲未解決的包庫的編譯。
這裏是我的代碼...
build.sbt
name := "BasicProjectWithScalaTest"
version := "1.0"
scalaVersion := "2.10.3"
libraryDependencies += "org.scalatest" %% "scalatest" % "1.9.+" % "test"
* Hello.scala *
package com.alvinalexander.testproject
object Hello extends App {
val p = Person("Avlin Alexander")
println("Hello from " + p.name)
}
case class Person(var name: String)
HelloTest.scala
package com.alvinalexander.testproject
import org.scalatest.FunSuite
class HelloTests extends FunSuite {
test("the name is set correctly in constructor") {
val p = Person("Barney Rubble")
assert(p.name == "Barne Rubble")
}
test("a Person's name can be changed") {
val p = Person("Chad Johnson")
p.name = "Ochocinco"
assert(p.name == "Ochocinco")
}
}
如果跑跑SBT編譯,它抱怨......
[info] Set current project to BasicProjectWithScalaTest (in build file:/Users/hongseok/dev/scala/test/)
[info] Updating {file:/Users/hongseok/dev/scala/test/}test...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/hongseok/dev/scala/test/target/scala-2.10/classes...
[error] /Users/hongseok/dev/scala/test/src/main/scala/HelloTest.scala:3: object scalatest is not a member of package org
[error] import org.scalatest.FunSuite
[error] ^
[error] /Users/hongseok/dev/scala/test/src/main/scala/HelloTest.scala:5: not found: type FunSuite
[error] class HelloTests extends FunSuite {
[error] ^
[error] /Users/hongseok/dev/scala/test/src/main/scala/HelloTest.scala:6: not found: value test
[error] test("the name is set correctly in constructor") {
[error] ^
[error] /Users/hongseok/dev/scala/test/src/main/scala/HelloTest.scala:11: not found: value test
[error] test("a Person's name can be changed") {
[error] ^
[error] four errors found
[error] (compile:compile) Compilation failed
build.sbt處於測試目錄,Hello.scala處於測試/ src目錄/主/ Scala和HelloTest.scala是in test/src/test/scala
我可以在.ivy2目錄下找到scalatest_2.10-1.9.2.jar。
爲什麼圖書館無法解決?
順便說一句,我使用的是OSX Mountain Lion,sbt 0.13,Scala 2.10.3。
的約定是 「的src/main /斯卡拉」 和 「SRC /測試/斯卡拉」。 – pedrofurla
哦,是的,test是項目目錄,所以它的路徑約定是正確的。 –
它適合我。哪裏有問題? HelloTests應該在src/test/scala –