问题标签 [wicket-tester]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2502 浏览

java - 如何使用 WicketTester 在输入字段中输入内容?

我正在为 Wicket 网页编写单元测试。我想启动一个页面,在一个字段中输入,单击一个链接,然后做出一些断言。

查看WicketTesterBaseWicketTester的 API ,我找不到任何采用路径(如“form:input”)来定位输入字段并让您在其中输入文本的方法。

我错过了什么?这似乎是一个非常基本的用例。你不应该像这样使用 WicketTester 吗?(考虑到 clickLink() 等方法的存在,这将是令人惊讶的。)

0 投票
6 回答
4435 浏览

java - 如何在 WicketTester 中测试 AjaxFormChoiceComponentUpdatingBehavior

在我的 Wicket 应用程序中,我使用了一个带有“是”和“否”选项的单选按钮。如果我选择“否”,我应该显示一个下拉选项。我使用AjaxFormChoiceComponentUpdatingBehavior. 如何使用 WicketTester 对此进行单元测试?

0 投票
1 回答
256 浏览

java - 如何使用 WicketTester 查询元素(组件)的文本?

而不是指定要在 WicketTester 中单击的组件的 id-path,我想找到带有特定文本的链接。

我可以用它MarkupContainer.visitChildren来遍历树,但我可以获得每个叶子的实际渲染组件文本 - 比如.innerHTML

0 投票
1 回答
476 浏览

testing - 检票口和 AtUnit

我已经开始使用 Wicket 并且选择了Guice作为依赖注入框架。现在我正在尝试学习如何为 WebPage 对象编写单元测试。

我用谷歌搜索了一下,找到了这篇文章,但它提到了 AtUnit,所以我决定试一试。

我的网页类看起来像这样

我创建了 mock 以用它替换任何生产 MyServiceImpl ,我猜与 AtUnit 一起使用的 Guice 应该注入它。

现在的问题是:

  1. AtUnit 期望我用 @Unit 标记目标对象 - 没关系,因为我可以将已经创建的对象传递给 WicketTester

    但通常我会用类名调用 startPage 。

  2. 我认为 AtUnit 也期望目标对象是带有 @Inject 的市场,因此 AtUnit 可以创建和管理它 - 但我得到一个org.apache.wicket.WicketRuntimeException: There is no application attach to current thread main。我可以指示 AtUnit 使用来自 wicketTester 的应用程序吗?

  3. 因为我不在 MyWebPage 上使用 @Inject(我认为)所有应该由 Guice 注入的对象都是空的(在我的示例中,服务引用是空的)

我真的在 Wicket 环境中找不到任何关于 AtUnit 的信息。我做错了什么,我错过了什么吗?

0 投票
1 回答
191 浏览

wicket - 如何从 Wicket Page 对象中看出它已更改?

这是我的场景。我正在测试一个 Wicket 应用程序,并将页面文本解析wicktetTester.getServletResponse.getDocument为 XML,以便使用 XPath 查找组件。这是相当昂贵的,所以我想保留dom4j.Document直到页面更改,然后重建它。

我知道当前页面 -wicketTester.getLastRenderedPage但是如果我提交一个表单并停留在同一页面上,那么该Page对象就是同一个对象。我可以查询页面的哪些属性以知道它已被重新渲染并且我需要重建我的 DOM?

0 投票
3 回答
1057 浏览

wicket - 我可以获得当前 Wicket Page 的来源吗?

我一直在使用wicketTester.getServetResponse.getDocument获取当前页面的文本进行测试,结果发现在ajax请求之后它被设置为ajax响应,而不是整个页面。

有没有办法获得整个呈现页面的表示,因为浏览器会在 ajax 操作之后看到它?

0 投票
2 回答
4527 浏览

java - 如何对自定义 Wicket 组件进行单元测试

鉴于这个非常简单的 Wicket 组件:

如何使用 WicketTester 对其进行单元测试?我需要一个页面吗?

0 投票
1 回答
692 浏览

http-headers - 如何在 WicketTester 中设置 http 标头数据

我有一个位于代理后面的 Web 应用程序。如果用户已登录,则设置一个 http-header。我有一个检查标题的页面,以确保用户未登录。如何将标题添加到MockHttpRequestWicketTester 生成的标题中?

我当前的单元测试如下所示:

更新: 我在生产网站中使用 1.4.17。在发布候选/里程碑阶段完全发布之前,我不打算升级到 1.5.X。
调用是对Wicket-1215wt.setupRequestAndResponse();的尝试修复 ,我在使用 Wicket 进行单元测试时如何设置自定义会话?

0 投票
1 回答
1960 浏览

wicket - 使用构造函数参数测试 Wicket 面板

我得到了一个包含几个面板的页面,这些面板在其构造函数中采用了多个参数。其中之一是一个菜单,其中包含菜单中不同按钮的列表。

我试图将它作为组件进行测试,但得到一个空指针异常。使用虚拟页面并在虚拟页面上创建面板有效。我对这种方法并不完全满意,因为它在我的测试中引入了很多新代码,并且有更多的错误可能性。

有没有更好的方法来测试在其构造函数中接受参数的面板?


肯定的事情:给出空指针错误的代码:

面板

和 html

0 投票
2 回答
231 浏览

java - WicketTester 与 Hibernate

我目前正在研究如何使我的 Wicket 应用程序可测试。

基本上,它是一个 Wicket / Hibernate / Apache Derby 设置。Hibernate 用作过滤器(参见:http: //community.jboss.org/wiki/OpenSessionInView / 请参阅 HibernateSessionRequestFilter),并有一个 hibernate.cfg.xml 文件作为配置。

我想要做的是能够将 WicketTester 与自定义数据库一起使用,我可以在每次测试运行时从头开始重建。理想情况下,测试将包含 Hibernate 的连接参数

基本上,我的问题是如何动态或在启动时切换我的数据库?

更抽象的是:这种测试的好方法是什么?