我試圖使用akka.http.scaladsl.testkit.responseAs爲了測試一些端點,但我無法弄清楚如何處理一個組織的編組/解組過程。 joda.time.DateTime對象。例如,考慮下面的案例類:Joda編組/解構在斯卡拉
case class ConfigEntity(id: Option[Int] = None, description: String, key: String, value: String, expirationDate: Option[DateTime] = None)
另外,還要考慮以下航線測試:
"retrieve config by id" in new Context {
val testConfig = testConfigs(4)
Get(s"/configs/${testConfig.id.get}") ~> route ~> check {
responseAs[ConfigEntity] should be(testConfig)
}
}
當我運行「SBT測試」,代碼不編譯,拋出以下錯誤: 「找不到隱式價值的證據參數類型akka.http.scaladsl.unmarshalling.FromResponseUnmarshaller [me.archdev.restapi.models.ConfigEntity]」
我知道該消息是非常自我解釋,但我仍然不'不知道如何創建隱式的FromResponseUnmarshaller t代碼抱怨。
我的代碼是基於下面的例子:提前https://github.com/ArchDev/akka-http-rest
我只是創造一些新的實體,並試圖打轉轉......
感謝。
感謝您的回答!我已經有了其中一個。我可以在執行'sbt run'時發送http請求,並且一切正常(配置實體保存在數據庫中)。但是當我執行'sbt test'時,出於某種原因,編譯器找不到隱式。 – goiaba
檢查您的範圍內是否沒有多個Decoder for DateTime。也許編譯器在解析執行測試的含義時存在一些不明確的問題 – EmiCareOfCell44