0
我有這樣的單元測試:「不是一個法律形式參數」
class MyServiceSpec extends WordSpec
with Matchers
with MockitoSugar
with BeforeAndAfterEach {
"MyService" must {
"succeed if my-endpoint succeeds" in {
Server.withRouter() {
GET("/my-endpoint") => Action {
Results.Ok.sendResource("myservice/my-endpoint.txt")
}
} { implicit port =>
WsTestClient.withClient { client =>
val result = Await.result(
new RealMyService(client).getFromEndpoint(), 10.seconds)
result shouldEqual true
}
}
}
}
}
sbt
告訴我:
» sbt test-only MyService
...
[error] /repos/myrepo/test/services/MyServiceSpec.scala:34: not a legal formal parameter.
[error] Note: Tuples cannot be directly destructured in method or function parameters.
[error] Either create a single parameter accepting the Tuple1,
[error] or consider a pattern matching anonymous function: `{ case (param1, param1) => ... }
[error] GET("/my-endpoint") => Action {
[error] ^
[error] one error found
[error] (test:compileIncremental) Compilation failed
[error] Total time: 3 s, completed Jun 16, 2017 7:27:11 AM
和IntelliJ告訴我:
Application does not take parameters: } expected
上線:
GET("/my-endpoint") => Action {
這究竟意味着什麼?
謝謝!我意外刪除了「case」關鍵字,並且再也沒有注意到。雖然'sbt'和'IntelliJ'都不是很有幫助。 – dangonfast
我看到你的痛苦,但另一方面,sbt似乎對我很有幫助。而不是有一個正式的參數,你有一個要評估的聲明。這就像是說'(1 + 2)=>什麼是一個函數。但無論如何,很高興你把它整理出來。 :) – slouc
現在你提到它,'sbt'就是關鍵,但是我的思想頑固地拒絕了'sbt'提示中'case'關鍵字的確認!現在看,它似乎很明顯......我應該採取一個課程「如何閱讀錯誤信息,而不會錯過重要的零碎件」 – dangonfast