java – 使用JUnit测试Tapestry页面和组件
作者:互联网
我通常尝试使用Selenium最小化测试并最大限度地使用普通的旧后端测试(JUnit,mocking).使用Tapestry我发现很难用后一种方式测试页面和组件,因为回调函数会产生“魔力”.
你能解决这个问题吗?或者您只是将Selenium用于整个Web层(页面,组件)?
解决方法:
根据Tapestry文档,使用PageTester是对页面和组件进行单元测试的适当方法:http://tapestry.apache.org/tapestry5/guide/unit-testing-pages.html
但这看起来类似于HtmlUnit样式的Web测试,因为交互是通过类似于界面的Web浏览器而不是通过Page或Component的界面进行的.
编辑
我只是尝试了一个简单的页面单元测试,它运行得很好:
public class FooPageTest extends AbstractServiceTest{
@Autobuild
@Inject
private FooPage fooPage;
@Test
public void setupRender(){
fooPage.setupRender();
}
}
AbstractServiceTest提供了一个测试运行器,它为单元测试类提供Tapestry依赖注入.使用Autobuild,您可以获得FooPage的@Inject依赖关系以及组件注入和@Property注释元素,您需要找出其他内容.
标签:java,junit,testing,tapestry 来源: https://codeday.me/bug/20190630/1341816.html