2015-07-14 28 views
5

próbuję użyć scalatest, ale Intellij nie może rozpoznać:nie można rozwiązać symbol „Scalatest”

import org.scalatest._ 

Oto mój plik build.sbt, znajduje się w tym samym katalogu co mój plik scalatest.jar.

scalaVersion := "2.11.2" 

libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" 

Dzięki

+1

Sprawdziłeś log sbt w IntelliJ. Często zdarza się to, gdy zależność nie jest poprawnie rozwiązana (np. Błędna, zła wersja itp.). Możesz także przejść do ustawień projektu i zajrzeć do zakładki biblioteki, aby sprawdzić, czy ScalaTest jest rzeczywiście dołączony. Nie potrzebujesz pliku 'scalatest.jar', cały punkt o zarządzanych zależnościach jest tym, który zajmuje się tym sbt. Jeśli nie zaznaczyłeś 'auto-import' podczas tworzenia projektu, musisz również odświeżyć kompilację sbt, jeśli edytujesz' build.sbt'. –

+0

Poszedłem do mojej struktury projektu i zmieniłem to. Chociaż wydaje się, że rozwiązał się w Intellij, po kompilacji "org.scalatest" jest nadal nierozpoznany. – nietsnegttiw

+1

Czy możesz podać kompletny plik 'build.sbt'? Nie powinieneś ręcznie zmieniać struktury projektu. Pozwól, aby IntelliJ zrobił to za Ciebie w oparciu o 'build.sbt' z włączonym automatycznym importem dla Twojego projektu. –

Odpowiedz

9

Więc trzeba umownie dwa foldery źródło:

src/main/scala/... 
src/test/scala/... 

Pierwszym jest pokazane niebieskie, drugie zielone w IntelliJ IDEA. Zależności biblioteczne w SBT są związane z żadnym z nich, tak

"org.foo" % "bar_2.11" % "1.2.3" 

jest głównym zależność, dostępny do głównych źródeł (a także przetestować, ponieważ badanie zależy główny). I

"org.foo" % "bar_2.11" % "1.2.3" % "test" 

Jest zależnością od testu, dostępne tylko dla źródeł testowych. Chodzi o to, że są to biblioteki, które nie są wymagane dla twojego produktu, ale tylko po to, aby uruchomić testy jednostkowe.


W twoim przykładzie, Scala-Test jest dostępny tylko do testowania źródeł, więc próba importu z głównych źródeł zakończy się niepowodzeniem.

+0

W skrócie, upewnij się, że twój plik testowy znajduje się w 'src/test/scala' lub import nie będzie działał poprawnie. – loxaxs

Powiązane problemy