2016-10-27 4 views
0

Я пытаюсь проверить приложение для игры 2,5, после того, как он поместил его на производственный сервер. В основном я просто хочу запустить тот же тест, написанный на моей ApplicationSpec.scala, с настройками производственного сервера. Я последовал за документ, но не удалось создать экземпляр приложения:Как написать тестирование серверного производства для игры с OneServerPerSuite

import play.api.test.Helpers.{GET => GET_REQUEST, _} 
import play.api.test._ 

class ProductionSpec extends PlaySpec with OneServerPerSuite { 

    implicit override lazy val app = 
    new GuiceApplicationBuilder().disable[EhCacheModule].router(Router.from { 
     case GET(p"/") => Action { play.api.mvc.Results.Ok("ok") } 
    }).build() 
    "AuthController" should { 

     "initialize tables" in { 
     val init = route(app, FakeRequest(GET, "/init")).get 
     status(init) mustBe OK 
     } 
    } 
} 

ошибка является

ProductionSpec.scala:25: not found: value GET 
... 
ProductionSpec.scala:25: value p is not a member of StringContext 

Как протестировать приложение работает на производственной среде?

ответ

0

Проблема заключается в том, что смешивание GETs, а также тестируется на одном маршруте и с просьбой к другим

Сначала у вас есть два GETs (один в каждой из этих библиотек)

play.api.test.Helpers._

play.api.routing.sird._

Второй Вы инициализируете этот маршрут GET(p"/"), но при этом Вы запрашиваете route(app, FakeRequest(GET, "/init")).get

Я установил код и он работает

import org.scalatestplus.play._ 
import play.api.test._ 
import play.api.test.Helpers._ 

import play.api.mvc._ 
import play.api.inject.guice.GuiceApplicationBuilder 
import play.api.routing._ 
import play.api.routing.sird._ 
import play.api.cache.EhCacheModule 
import play.api.libs.ws.WSClient 

class ProductionSpec extends PlaySpec with OneServerPerSuite { 

    implicit override lazy val app = 
    new GuiceApplicationBuilder().disable[EhCacheModule].router(Router.from { 
     case play.api.routing.sird.GET(p"/init") => Action { play.api.mvc.Results.Ok("ok") } 
    }).build() 
    "AuthController" should { 

     "initialize tables" in { 
     val init = route(app, FakeRequest(play.api.test.Helpers.GET, "/init")).get 
     status(init) mustBe OK 
     } 
    } 
} 

Вы должны знать, когда использовать каждый GET

Я надеюсь, что это помогает

 Смежные вопросы

  • Нет связанных вопросов^_^