Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Simple scalatest project won't be compiled

Tags:

scala

sbt

I'm just following Scala Cookbook

But if I tried to run basic test, it won't be compiled because of unresolved package library.

Here's my code...

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")
  }
}

If run run sbt compile, it complains...

[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 is in test directory, Hello.scala is in test/src/main/scala and HelloTest.scala is in test/src/test/scala

I can find scalatest_2.10-1.9.2.jar in .ivy2 directory.

Why the library could not be resolved?

By the way, I'm using OSX Mountain Lion, sbt 0.13, Scala 2.10.3.

like image 421
Hongseok Yoon Avatar asked Oct 14 '13 03:10

Hongseok Yoon


1 Answers

pedrofurla wrote:

The convention is src/main/scala and src/test/scala.

OP wrote:

I made mistake with its file location. And if I correct it, works well.

like image 99
2 revs Avatar answered Nov 03 '22 00:11

2 revs