2017-12-10 4 views
0

外部のWebサービスhttp://techpaisa.com/supres/acc/プレイFrameworkの要求がnullである

package it; 

import static org.hamcrest.CoreMatchers.containsString; 
import static org.junit.Assert.assertThat; 
import static play.test.Helpers.GET; 
import static play.test.Helpers.contentAsString; 
import static play.test.Helpers.route; 

import org.junit.Test; 

import play.Application; 
import play.inject.guice.GuiceApplicationBuilder; 
import play.mvc.Http; 
import play.mvc.Result; 
import play.test.WithApplication; 
import v1.post.PostData; 
import v1.post.PostRepository; 

public class IntegrationTest extends WithApplication { 

    @Override 
    protected Application provideApplication() { 
     return new GuiceApplicationBuilder().build(); 
    } 

    @Test 
    public void testList() { 
     PostRepository repository = app.injector().instanceOf(PostRepository.class); 
     repository.create(new PostData("title", "body")); 
     Http.RequestBuilder request = new Http.RequestBuilder().method(GET).uri("http://techpaisa.com/supres/acc/"); 
     System.out.println("THE REQIEST IS "+request.body().toString()); 
     Result result = route(app, request); 
     System.out.println("THE RESULT IS "+result.status()); 
    } 

} 
にテストする

以下のように私は、私は試験方法を書かれているテストフォルダ内には、バージョン2.6のサンプルプロジェクト をuisngていますフレームワークを再生するために新しいです

これは私がリクエストがnull

である理由

[success] Total time: 81 s, completed 10 Dec, 2017 9:47:23 PM 
[play-java-rest-api-example] $ test 
[info] Compiling 1 Java source to E:\minetest\play-java-rest-api-example\target\scala-2.12\test-classes ... 
[info] Done compiling. 
[info] Test run started 
[info] Test it.IntegrationTest.testList started 
[info] application - Creating Pool for datasource 'default' 
[info] p.a.d.HikariCPConnectionPool - datasource [default] bound to JNDI as DefaultDS 
[info] a.e.s.Slf4jLogger - Slf4jLogger started 
THE REQIEST IS RequestBody of null 
THE RESULT IS 404 
[info] application - Shutting down connection pool. 
[info] Test run finished: 0 failed, 0 ignored, 1 total, 9.37s 
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1 
[success] Total time: 14 s, completed 10 Dec, 2017 9:48:14 PM 

は、誰が私に教えてもらえ見出力され

は、私もそれは非常に簡単になるが、それでも同じエラー

@Test 
    public void testBadRoute() { 
     RequestBuilder request = Helpers.fakeRequest() 
       .method(GET) 
       .uri("http://techpaisa.com/supres/acc/"); 
     System.out.println("body"+request.body()); 
     Result result = route(app, request); 
     System.out.println(result.status()); 
    } 

答えて

2

リクエストはnullではありませんが、体がある:request.body()GETリクエストの場合、空のボディを持つのが普通です。

+0

なぜ、404が来るのか、ウェブサイトはhttp://techpaisa.com/、ACCに入り、有効なウェブサービスを確認する – Pawan

+2

外部ウェブサイトをテストするには、WSClientを使うべきです:https ://playframework.com/documentation/2.6.x/JavaWSとhttps://playframework.com/documentation/2.6.x/JavaTestingWebServiceClients ここで自分のプレイアプリケーションにリクエストを送信しています – vdebergue

+0

ああ、これは非常に混乱していますFramework、WSClientがコンパイルされていません。libraryDependencies ++ = Seq( ws ) – Pawan

関連する問題