발생간단한 scalatra 테스트 specs2 예는 예외
class MyApp extends ScalatraServlet {
get("/") {
"aloha"
}
}
내가 scalatra-을 사용하고 있습니다 : 여기
class MyAppTest extends MutableScalatraSpec {
addServlet(classOf[MyApp], "/*")
"GET/on AdminApp" should {
"return status 200" in {
get("/") {
status must_== 200
}
}
}
}
앱 정의입니다 specs2 2.0.4 및 scala 2.9.1. 나는 xsbt-web-plugin 0.2.10과 sbt 0.11.2를 사용하여 임베디드 부두 서버를 운영 중이다. 테스트는 sbt test
을 사용하여 실행되었습니다. Fragment Evaluation Error :
[info] GET/on AdminApp should
[error] ! Fragment evaluation error
[error] ThrowableException: org.eclipse.jetty.http.HttpGenerator.flushBuffer()I (FutureTask.java:138)
[error] org.eclipse.jetty.testing.HttpTester.generate(HttpTester.java:225)
[error] org.scalatra.test.ScalatraTests$class.submit(ScalatraTests.scala:46)
[error] com.example.MyAppTest.submit(MyAppTest.scala:5)
[error] org.scalatra.test.ScalatraTests$class.submit(ScalatraTests.scala:71)
[error] com.example.MyAppTest.submit(MyAppTest.scala:5)
[error] org.scalatra.test.ScalatraTests$class.get(ScalatraTests.scala:127)
[error] com.example.MyAppTest.get(MyAppTest.scala:5)
[error] com.example.MyAppTest$$anonfun$1$$anonfun$apply$3.apply(MyAppTest.scala:10)
[error] com.example.MyAppTest$$anonfun$1$$anonfun$apply$3.apply(MyAppTest.scala:10)
[error] org.eclipse.jetty.http.HttpGenerator.flushBuffer()I
[error] org.eclipse.jetty.testing.HttpTester.generate(HttpTester.java:225)
[error] org.scalatra.test.ScalatraTests$class.submit(ScalatraTests.scala:46)
[error] com.example.MyAppTest.submit(MyAppTest.scala:5)
[error] org.scalatra.test.ScalatraTests$class.submit(ScalatraTests.scala:71)
[error] com.example.MyAppTest.submit(MyAppTest.scala:5)
[error] org.scalatra.test.ScalatraTests$class.get(ScalatraTests.scala:127)
[error] com.example.MyAppTest.get(MyAppTest.scala:5)
[error] com.example.MyAppTest$$anonfun$1$$anonfun$apply$3.apply(MyAppTest.scala:10)
[error] com.example.MyAppTest$$anonfun$1$$anonfun$apply$3.apply(MyAppTest.scala:10)
이 지금까지 켜져있는 유일한 검색 결과 :
여기에 전체 추적이다.
누군가 나를 올바른 방향으로 안내 할 수 있습니까?
덕분에, -f
확실하지는 않지만 적절한 방파제 라이브러리를 사용하지 않았습니까? "flush"메서드가 부두 6과 부두 7 사이에서 변경되었음을 알았습니다. 이로 인해 이상한 "org.eclipse.jetty.http.HttpGenerator.flushBuffer() I"서명을 설명하는 "메서드를 찾을 수 없음 오류"가 발생할 수 있습니다. 예외 메세지. 이것은 또한 당신이 언급 한 링크에서 설명한 것처럼 이것이 왜 "단편 평가 오류"인지 설명 할 것입니다. – Eric
최신 specs2-1.10-SNAPSHOT을 사용한다면 "NoSuchMethodError"를 보여주는 "fragment evaluation error"에 대한 더 나은 메시지를 얻을 수 있습니다. – Eric
방금 내 의견을 일반적인 대답으로 바꾸 었습니다. 그게 맞는 것 같아요 :-) – Eric