java - 如何为 wicket DownloadLink 编写单元测试?

标签 java unit-testing wicket

我正在为 wicketproject 构建单元测试,但在测试下载功能时遇到问题。我从带有搜索表单的页面开始。

wicketTester.startPage(SearchPage.class);
// set values for FormTester formTester
formTester.submit();

提交后,我得到一个带有 ListView 的页面,到目前为止一切顺利。

tester.assertRenderedPage(ResultPage.class);
// test some Labels in listitems

现在我想将列表导出到 csv 并检查该文件。这里还是可以的

tester.clickLink("exportlink");
tester.assertContains("part,of,csv,to,test;");

现在我想“返回”并单击列表项以转到搜索结果的详细信息。我无法找到如何获取列表所在的上一页,然后触发列表项上的ajaxevent。

tester.executeAjaxEvent("aansluitngrow:1", "onclick");

感谢您的帮助:)

最佳答案

我不确定您的单元测试方式是否正确。每个单元测试都应该测试单元的单个功能,因此在这种情况下它将是: 1.测试提交表单; 2.测试导出链接 3.测试ajax事件; 等等

每个点都应该有自己的单元测试,因为每个点都是一个工作单元。这样您就可以确保这些单元的任意组合也能正常工作。然而,如果您通过这些单元测试单个路径,则无法确保如果路径中的某个元素不同,您仍然会得到正确的结果。

此外,“返回”不是您的代码库的功能;您不应该将其包含在测试中,您应该假设提供返回功能的任何内容都已经过测试。

因此我相信你甚至不需要“回去”;您应该针对该功能进行新的单元测试,其中起点是具有正确呈现的项目列表的 ResultPage(在另一个测试中确保正确呈现),您可以在该测试上执行自定义 ajax 事件。

关于java - 如何为 wicket DownloadLink 编写单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654990/

相关文章:

java - Prim算法的实现

java - 使用数组进行用户输入

unit-testing - 什么是严格和非严格模拟?

java - Wicket 链接重放攻击

java - 首选项菜单中的操作栏 Sherlock

Java 每分钟循环一次

c++ - 如何使用 Visual Studio 2005 设置 Google C++ 测试框架 (gtest)

ruby-on-rails - rails 引擎 : rake routes show its routes but on rspec execution "No route matches" is thrown

java - 访问 wicket 组件层次结构之外的 Wicket 页面对象

java - Wicket - 单选按钮和标签元素