es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Sbt no resuelve Scalatest en Intellij IDEA.

Sé que ya existen preguntas respondidas sobre esto, pero no funcionaron para mí, quizás porque ahora son demasiado antiguas.

Entonces, estoy creando un proyecto en scala en Intellij IDEA Ultimate (SDK 16.0.1). Lo compilo utilizando sbt. Creé una clase MainTest en src/test/scala con el siguiente contenido:

import org.scalatest.funsuite.AnyFunSuite

class MainTest extends AnyFunSuite {
  test("Example") {
    assert(1 == 1)
  }
}

En mi archivo build.sbt tengo:

name := "my-scala-project"

version := "0.1"

scalaVersion := "3.0.0-M2"

libraryDependencies += "org.scalatest" %% "scalatest" % "1.4.RC2" % Test

También he instalado la biblioteca org.scalatest:scalatest_2.11:3.1.0 desde Maven desde la ventana Archivo> Estructura del proyecto …> Configuración del proyecto> Bibliotecas.

En el editor, puedo ver que IntelliJ no puede resolver la importación en mi archivo de prueba ya que está marcado en rojo. Cuando ejecuto sbt clean test, obtengo este mensaje de error:

-- [E006] Error no encontrado : path\to\project\src\test\scala\MainTest.scala:4:2

4 | test("Example") {

| ^^^^

| No encontrado: test

se encontró un error

se encontró un error

(Test / compileIncremental) error de compilación

¿Por qué no funciona? Pensé que había hecho todo lo esperado. Idealmente, me gustaría usar la última versión 3.2.9 de Scalatest.

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar relacionado con la versión de Scala que estás utilizando. En tu archivo build.sbt, has especificado scalaVersion := "3.0.0-M2", pero la última versión de ScalaTest (3.2.9) todavía no es compatible con Scala 3.0.0-M2.

    Puedes retroceder tu versión de Scala a una que sea compatible con ScalaTest 3.2.9 (por ejemplo, scalaVersion := "2.12.14"), o puedes usar una versión de ScalaTest que admita Scala 3.0.0-M2 (por ejemplo, scalaVersion := "3.0.0-M2"; libraryDependencies += "org.scalatest" % "scalatest" % "3.2.9" % Test).

    Una vez que hayas actualizado tu archivo build.sbt, asegúrate de ejecutar sbt clean para limpiar cualquier artefacto de construcción antiguo y luego intenta ejecutar sbt test nuevamente para ver si se ha resuelto el problema.

    Si aún tienes problemas, es posible que desees verificar que la biblioteca ScalaTest se está incluyendo correctamente en tu classpath. Puedes hacer esto verificando la salida del comando sbt test:dependencyClasspath para asegurarte de que scalatest se enumera como dependencia.

Comments are closed.