Java > サーブレットのユニットテスト

更新日 2014-10-31
広告

サーブレットのユニットテストを行う方法を紹介します。

ここでは、springframework (spring-test-4.0.6.RELEASE.jar)を使います。 MockHttpServletRequestクラスを使うと、HttpServletRequestを簡単に用意できるので、サーブレットのdoPostメソッドに対するユニットテストを簡単に書けます。

以下は、JUnitを使ったユニットテストのサンプルコードです。

import org.springframework.mock.web.*;
 :

  @Test
  void test_doPost() {
        
    SomeServlet servlet = new SomeServlet();
    String postData = "xxxxx";
        
    MockHttpServletRequest req = new MockHttpServletRequest();
    MockHttpServletResponse resp = new MockHttpServletResponse();
        
    req.setMethod("POST");
    req.setContentType("application/xml");
    req.setContent(postData.getBytes());
        
    try {
      servlet.init();
      servlet.doPost(req, resp);
      servlet.destroy();
    } catch (Exception e) {
      Assert.fail("fail!");
    }
        
    // ここから結果をassertで確認
  }
このように、引数なしのコンストラクタでインスタンスを作成し、setContentなどのメソッドでデータを設定してやるだけです。 そして、サーブレット(上記例だとSomeServlet)のdoPostメソッドに渡してやればOKです。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system