前提・実現したいこと
javaの開発でrequestからURLとパラメータの値を取得する処理があり、junitでのテストを行っているのですが、
request.getRequestURLの結果がnullのため、
junitのテストクラスで任意のURLの値(例:http://hoge.hoge.co.jp/hoge.do)を設定する方法が知りたいです。
該当のソースコード
java
1テスト対象のクラス(hoge.java) 2private static String getUrlId(HttpServletRequest request){ 3 4 // idの値はテストクラスで設定した値が取得できる 5 String id = request.getParameter("id"); 6 // urlがnullなのでテストクラスで値を設定したい 7 StringBuffer url = request.getRequestURL(); 8 String urlStr = url.toString(); 9 10 return id + url; 11}
java
1junitのテストクラス(hogeTest.java) 2import org.apache.struts.mock.MockHttpServletRequest; 3@Test 4public void test_01(){ 5 6 MockHttpServletRequest request = new MockHttpServletRequest(); 7 request.addParameter("id", "testId"); 8 9 hoge.getUrlId(request); 10} 11 12
試したこと
setPathElements(String contextPath,String servletPath,String pathInfo,String queryString)
で値を設定してみたのですが、request.getRequestURL()の結果はnullでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/21 23:44