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

时间:2014-05-14 12:37:10

标签: 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;");

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

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

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

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

这些点中的每一点都应该有自己的单元测试,因为每个点都是一个单独的工作单元。这样您就可以确定这些单元的任何组合也将起作用。如果您通过这些单位测试单个路径,则无法确保如果路径中的某个元素不同,您仍将获得正确的结果。

此外,'返回'不是您的代码库的功能;你不应该把它包含在你的测试中,你应该假设任何提供后面功能的东西都已经过测试。

出于这个原因,我相信你甚至不需要回去&#39 ;;您应该对该功能进行新的单元测试,其中起始点是ResultPage,其中包含正确呈现的项目列表(在另一个测试中确保正确的呈现),您可以在其上执行自定义ajax事件。