【问题标题】:Hello World ScalaTest Failing: not found: type MyScalatraServletHello World ScalaTest 失败:未找到:键入 MyScalatraServlet
【发布时间】:2014-06-06 07:14:21
【问题描述】:

我正在尝试让 Hello World 在我的 hello world scalatra 应用程序中进行绿色测试。 servlet 的代码是:

package com.graphular.app

import org.scalatra._
import scalate.ScalateSupport

class MyScalatraServlet extends GraphularStack {
  get("/") {
    <html>
      <body>
        <h1>Hello, world!</h1>
        Say <a href="hello-scalate">hello to Scalate</a>.
      </body>
    </html>
  }
}

它似乎可以在浏览器中运行,我对此非常满意。我为它写了测试,结果是这样的:

import org.scalatra.test.scalatest._
import org.scalatest.FunSuite

class MyScalatraServletTests extends ScalatraSuite with FunSuite {
  addServlet(classOf[MyScalatraServlet], "/*")
  test("simple get") {
    get("/") {
      status should equal(200)
      body should include("hi!")
    }
  }
}

我的libraryDependencies 是:

"org.scalatra" %% "scalatra" % ScalatraVersion,
"org.scalatra" %% "scalatra-scalate" % ScalatraVersion,
"org.scalatra" %% "scalatra-scalatest" % ScalatraVersion % "test",
"ch.qos.logback" % "logback-classic" % "1.0.6" % "runtime",
"org.eclipse.jetty" % "jetty-webapp" % "8.1.8.v20121106" % "container",
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container;provided;test" artifacts (Artifact("javax.servlet", "jar", "jar"))

我以为这会奏效,但我却一直收到:

[error] /Users/benmorgan/Sites/scala/graphular/src/test/scala/com/graphular/app/MyScalatraServletSpec.scala:7: not found: type MyScalatraServlet
[error]   addServlet(classOf[MyScalatraServlet], "/*")

因为我的爱,我无法弄清楚......

【问题讨论】:

    标签: scala scalatra


    【解决方案1】:

    如果这是整个代码,那么您在测试中忘记了 package 语句:

    package com.graphular.app
    

    否则你应该导入被测类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 2015-12-20
      • 1970-01-01
      • 2018-04-26
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多