scalatest не работает в intellij 13.1

Кажется, я не могу заставить Intellij 13.1 запускать мои тесты. Я создал простой проект, чтобы попытаться изолировать проблему, но он также не работает. Вот моя установка:

  • Проект scala 2.10, поддерживаемый SBT
  • последняя версия scalatest (libraryDependencies + = "org.scalatest"% "scalatest_2.11"% "2.2.1"% "test")
  • Одна из проблем, которые у вас явно есть, заключается в том, что вы запрашиваете версию scalatest, скомпилированную для Scala 2.11, но вы говорите, что используете Scala 2.10. Вам нужен "scalatest_2.10" вместо "scalatest_2.11" в вашем build.sbt. Использовать

Вот сут:

object Calc {
  def add(a: Int, b: Int) = {
    a + b
  }
}

Вот тест:

import org.scalatest.FunSuite

class Calc$Test extends FunSuite {
  test("two number should add") {
    assert(Calc.add(2, 5) == 7)
  }
}

Я получаю вот такую ​​ошибку:

Есть идеи, в чем может быть проблема? Я предполагаю, что это вызвано простой проблемой конфигурации, поскольку код настолько прост, насколько это возможно.

Intellij 13.1, ориентированный на JDK 1.6 (требуется для используемых java-библиотек)


person IUnknown    schedule 10.09.2014    source источник


Ответы (2)


или, возможно, даже

libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.2.1" % "test"

чтобы ваша версия Scala была подобрана автоматически (обратите внимание на изменение на двойной процент: %%.)

libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.1" % "test"

Поскольку ваш проект поддерживает версию 2.10, используйте ту же версию для масштабирования,

person Spiro Michaylov    schedule 10.09.2014
comment
Интересно, не совсем ли вас смущает разница между версией конкретного API, который вы используете, и версией Scala, для которой скомпилирован конкретный пакет. В случае вашей зависимости выше вы запрашивали версию 2.2.1 самых масштабных API, и это доступно в пакетах как для Scala 2.10, так и для Scala 2.11. Для масштабирования версия компилятора встроена в имя артефакта, но это не всегда так. Возможно, будет полезно просмотреть этот список. - person IUnknown; 11.09.2014
comment
Ошибка: scalac: при компиляции: /Users/test-user/Development/temp/sample/src/test/scala/Calc$Test.scala во время фазы: версия библиотеки typer: версия компилятора версии 2.10.4: реконструирована версия 2.10.4 args: -nobootcp -javabootclasspath: -classpath /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/deploy.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents /Home/lib/dt.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javaws.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents /Home/lib/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jconsole.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents /Home/lib/management-agent.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/plugin.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk /Contents/Home/lib/sa-jdi.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/char sets.jar: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/apple_provider.jar: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/dnsns.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/ localedata.jar: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/sunjce_provider.jar: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/ lib / ext / sunpkcs11.jar: /Users/test-user/Development/temp/sample/target/scala-2.10/test-classes: /Users/test-user/Development/temp/sample/target/scala-2.10/ классы: /Users/test-user/.sbt/boot/scala-2.10.4/lib/scala-library.jar: /Users/test-user/.ivy2/cache/org.scala-lang/scala-library/ jars / scala-library-2.11.2.jar: /Users/test-user/.ivy2/cach e / org.scala-lang / scala-reflection / jars / scala-reflection-2.11.2.jar: /Users/test-user/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/ bundles / scala-xml_2.11-1.0.2.jar: /Users/test-user/.ivy2/cache/org.scalatest/scalatest_2.11/bundles/scalatest_2.11-2.2.1.jar: / Users / test -user / .sbt / boot / scala-2.10.4 / lib / scala-reflection.jar: /Users/test-user/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar последнее дерево для typer: Apply (method ==) symbol: method == in class Int (flags:) Определение символа: def == (x: Int): Boolean tpe: Логические владельцы символов: method == -> class Int -> package scala владельцы контекста: value -> class Calc $ Test -> package == Заключительный шаблон или блок == Template (// val: в class Calc $ Test "FunSuite" // родители ValDef (private "_") // 2 оператора DefDef (// def (): Calc $ Test в классе Calc $ Test "" [] List (Nil) // tree.tpe = Calc $ Test Block (// tree.tpe = Unit Apply (// def (): org.scalatest. FunSuite в классе FunSuite, tree.tpe = org.scalatest.FunSuite Calc $ Test.super. "" // def (): org.scalatest.FunSuite в классе FunSuite, tree.tpe = () org.scalatest.FunSuite Nil) ())) Apply (Apply ("test" "два числа должны добавить") Apply ("assert" Apply (// def == (x: Int): Boolean в классе Int, tree.tpe = Boolean Calc.add ( 2, 5). "$ Eq $ eq" // def == (x: Int): Boolean в классе Int, tree.tpe = (x: Int) Boolean 7)))) == Расширенный тип дерева == TypeRef (TypeSymbol (последний абстрактный класс Boolean расширяет AnyVal)) неперехваченное исключение во время компиляции: scala.MatchError - person Spiro Michaylov; 11.09.2014

Или используя maven,

scalaVersion := "2.10.5" // don't need to mention scalatest_2.10, will be reflected automatically

libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" // works with 2.2.1 or 3.0.0

libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"

Ссылка здесь http://www.scalatest.org/install

<dependency>
    <groupId>org.scalactic</groupId>
    <artifactId>scalactic_2.10</artifactId>
    <version>3.0.0</version>
</dependency>

<dependency>
    <groupId>org.scalatest</groupId>
    <artifactId>scalatest_2.10</artifactId>
    <version>3.0.0</version>
    <scope>test</scope>
</dependency>

ну, это было легко :) Я думал, что читал, что могу масштабировать с помощью scala 2.10 - думаю, я ошибался.

person prayagupd    schedule 23.11.2016