0
我的工作得到一個測試用例播放2.1.1和Specs2工作,正在到一個有趣的問題調用函數。我創建了一個FakeRequest發送到控制器,但在控制器內的功能不會被調用。使用specs2不會調用函數
這裏的測試代碼(略有簡化,但所有的運動部件):
"controller" should {
"do something" in new WithApplication {
val controller = new MyController()
controller.main() {
new FakeRequest(
PUT,
routes.MyController.main().toString,
new FakeHeaders(Seq("Content-Type" -> Seq("text/xml"))),
AnyContentAsXml(<xml>xml</xml>)
)
}
}
而這裏的控制器的主要功能(好吧,至少只是它的開始):
def main() = Action(BodyParsers.parse.xml) { request =>
println("main")
}
此代碼永遠不會打主力。奇怪的是,雖然,如果我做了FakeHeader不帶任何參數,並刪除AnyContentAsXml,只是發送XML元素到控制器,那麼它的工作原理:
new FakeRequest(
PUT,
routes.MyController.main().toString,
new FakeHeaders,
<xml>xml</xml>
)
沒有人有任何想法,爲什麼會發生這種情況?