1

ちょっとしたテストを書きたい:

URL を呼び出す外部サーバーがあります
domain.com/pages/test/postback.html?user_id=5
。URL が呼び出されると、コントローラ メソッド test() が呼び出されます (page.xml で定義されます)。

私の問題は、IDが正しい値で満たされていることをどのようにテストできますか?
私はテストを書きましたNonFacesRequest が、最後に、値は常にnullです

私のコントローラー:

@Name(PostbackController.COMPONENT_NAME)
@AutoCreate
public class PostbackController {
    public static final String COMPONENT_NAME = "postbackController";

    @RequestParameter("user_id")
    private String userId;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }



    public void test(){
        // do something
    }

}

私のテスト

public class PostbackTest extends SeamTest {

    @Test
    public void test() throws Exception{

        new NonFacesRequest("/pages/test/postback.html?user_id=5"){

                @Override
                protected void renderResponse() throws Exception {

                PostbackController postbackController = (PostbackController) getInstance(PostbackController.class);
                    Assert.assertEquals(postbackController.getUserId(),"5");
                }
            }.run();

}

postback.page.xml:

<?xml version="1.0" encoding="UTF-8"?>
<page xmlns="http://jboss.com/products/seam/pages" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
    view-id="/pages/test/postback.xhtml" login-required="false">

    <action execute="#{postbackController.test}" />


<param name="user_id" />


</page>

xhtml は空白のページです。

うまくいけば、誰かが問題を解決する方法を知っています....

4

0 に答える 0