How do I supply an implicit value for an akka.stream.Materializer when sending a FakeRequest?

前端 未结 2 2184
陌清茗
陌清茗 2021-02-19 23:30

I\'m trying to make sense of the error(s) I\'m seeing below, and to learn how to fix it.

could not find implicit value for parameter materializer: akka.Stream.M         


        
相关标签:
2条回答
  • 2021-02-20 00:14

    You can create an implicit ActorMaterializer within your test class which will use testkit's ActorSystem:

    import akka.testkit.TestKit
    import akka.actor.ActorSystem
    
    class TestJmlPlay(_system : ActorSystem) extends TestKit(_system) ... {
    
      implicit val materializer: ActorMaterializer = ActorMaterializer()
    
      val bbox = ...
    
    0 讨论(0)
  • 2021-02-20 00:36

    You don't need Materializer.

    I believe you are calling not the right action.apply method.
    You want def apply(request: Request[A]): Future[Result]
    To call the right, you need FakeRequest[AnyContent], same parametrized type as action:Action[AnyContent].This type is forced by PlayBodyParser I believe you set for your action.

    After that you don't need .run call

    0 讨论(0)
提交回复
热议问题