2017-12-11 20 views
0

get http呼び出しを行うクラスを単体テストに設定しようとしています。モックサーバーを正常にセットアップできましたが、要求をスタブしようとするとエラーが発生します。私はWireMockにとって非常に新しく、これはかなり単純なもののようです。教えてください:WireMock経由でget要求をスタブするとエラーが発生する

@Test 
public void testMethod{ 
......... 
    WireMockServer wireMockServer = new WireMockServer(8089); 
    wireMockServer.start(); 

    stubFor(get(urlEqualTo("/api/get-magic")) 
     .willReturn(aResponse() 
      .withHeader("Content-Type", "application/json") 
      .withBody("{\"currently\":{\"windSpeed\":12.34}}"))); 
........ 
    wireMockServer.start(); 

} 

のStackTrace:

com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') 
at [Source: <html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
<title>Error 403 No valid crumb was included in the request</title> 
</head> 
<body><h2>HTTP ERROR 403</h2> 
<p>Problem accessing /__admin/mappings. Reason: 
<pre> No valid crumb was included in the request</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/> 

</body> 
</html> 
; line: 1, column: 2] 

    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702) 
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:558) 
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:456) 
    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1906) 
    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:749) 
    at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3850) 
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3799) 
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2858) 
    at com.github.tomakehurst.wiremock.common.Json.read(Json.java:50) 
    at com.github.tomakehurst.wiremock.client.HttpAdminClient.safelyExecuteRequest(HttpAdminClient.java:431) 
    at com.github.tomakehurst.wiremock.client.HttpAdminClient.executeRequest(HttpAdminClient.java:399) 
    at com.github.tomakehurst.wiremock.client.HttpAdminClient.addStubMapping(HttpAdminClient.java:133) 
    at com.github.tomakehurst.wiremock.client.WireMock.register(WireMock.java:292) 
    at com.github.tomakehurst.wiremock.client.WireMock.register(WireMock.java:287) 
    at com.github.tomakehurst.wiremock.client.WireMock.givenThat(WireMock.java:106) 
    at com.github.tomakehurst.wiremock.client.WireMock.stubFor(WireMock.java:110) 
    at com.move.lead.la.service.allocation.ods.OdsTest.testGetOdsDataLive(OdsTest.java:156) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) 
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) 
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 
    at org.testng.TestRunner.privateRun(TestRunner.java:767) 
    at org.testng.TestRunner.run(TestRunner.java:617) 
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 
    at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
    at org.testng.TestNG.run(TestNG.java:1031) 
    at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72) 
    at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123) 
+0

あなたはその応答を生成したリクエストを投稿できますか? – Tom

+0

WireMockをWireMockサーバーではなくJenkinsポートに指しているようです。 – Tom

+0

@Tomこれは、stubForブロックを実行した後に起こります。私はその時点で何の要求もしていません。また、多分私はここで何かを見逃しています、あなたはそれを私のJenkinsポートへのWireMockとしてどうやって知っていますか? –

答えて

1

あなたは、静的なDSLがポート8089.用に設定されているように、現在、どこにある、8080にデフォルト設定されますWireMock.configureFor(8089);を呼び出す必要がありますそれを見てジェンキンスを実行している。

関連する問題