Така че имаме програма Scala (изградена с помощта на Maven), която искаме да тестваме с помощта на Scalatest. Ние работим с Scala 2.11.8 и Scalatest 3.0.1 (опитахме 3.0.3 без успех)
Когато нашите тестове изпълняват нещо с assert()
макрос, получаваме следната грешка:
error: can"t expand macros compiled by previous versions of Scala
assert(true)
^
То сочи към true
но проблемът е с всичко, което поставяме assert()
, Нашият POM има следната зависимост за Scalatest:
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.11</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>
Кодът, който се опитваме да изпълним, е:
import org.scalatest.{FlatSpec, _}
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class Testing extends FlatSpec {
//test
var number = 0;
"An empty Set" should "have size 0" in {
assert(true)
}
}
Много хора казват, че това е проблем с използванетоScala 2.11, но включително зависимостта 2.10, но ние използваме 2.11. Всяка помощ ще бъде много оценена. Трябва да отбележа, че я пробвахме с помощта на Scala 2.10 и тя работи.
Отговори:
3 за отговор № 1тичам mvn dependency:tree
и разберете кои зависимости имат _2.10 в него. употреба Управление на зависимостта за да се гарантира, че _2.11 е включен и _2.10 се изключва.