使用 wicket 进行单元测试时如何设置自定义会话?

2023-12-19

我正在尝试在仅允许您登录后访问的 wicket 页面上运行一些单元测试。在我的 JUnit 测试中,如果不设置会话,我无法启动页面或呈现它。

你如何设置会话?我在查找有关如何执行此操作的任何文档时遇到问题。

    WicketTester tester = new WicketTester(new MyApp());
((MyCustomSession)tester.getWicketSession()).setItem(MyFactory.getItem("abc"));

//Fails to start below, no session seems to be set
    tester.startPage(General.class);
tester.assertRenderedPage(General.class);

我经常做的是提供一个假的 Web 应用程序,并覆盖我想要模拟或存根的内容。

我重写的方法之一是

    public abstract Session newSession(Request request, Response response);

它允许您返回一个带有任何您想要的内容的虚假会话设置。

这是 Wicket 1.3 中的内容 - 如果您使用 1.4,其中一些内容可能已更改,并且如另一个响应中所述,它可能与 wicket bug 有关。

但假设接口没有发生太大变化,覆盖此方法也可能是解决 WICKET-1215 中问题的另一种方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 wicket 进行单元测试时如何设置自定义会话? 的相关文章

随机推荐