Unit testing 是否有一个可用的符合标准(168/286)的portlet测试框架?(尤其是与Spring PortletMVC一起使用的)
在这方面,我还没有见过任何我会推荐给客户的东西。如果您使用过SpringPortletMVC,您是如何测试它的 在portlet代码级别下进行测试很容易,通过HtmlUnit、Selenium等在客户端进行测试也相对容易,但我还没有看到任何符合JSFUnit精神的“灰盒”测试(我认为这是未来的方向)Unit testing 是否有一个可用的符合标准(168/286)的portlet测试框架?(尤其是与Spring PortletMVC一起使用的),unit-testing,spring,portal,Unit Testing,Spring,Portal,在这方面,我还没有见过任何我会推荐给客户的东西。如果您使用过SpringPortletMVC,您是如何测试它的 在portlet代码级别下进行测试很容易,通过HtmlUnit、Selenium等在客户端进行测试也相对容易,但我还没有看到任何符合JSFUnit精神的“灰盒”测试(我认为这是未来的方向) Apache的驱动程序理论上可以用于引导测试线束。有人试过这个吗 有存根或数据提供程序方法吗 有没有解决两阶段处理问题的方法 我对Portlet一无所知,但这就是它 有一个 portletUnit
- Apache的驱动程序理论上可以用于引导测试线束。有人试过这个吗
- 有存根或数据提供程序方法吗
- 有没有解决两阶段处理问题的方法
PortletRunner
,有一个简单的方法
检查验证程序错误
2007年,尼尔斯·赫尔格·加利·赫格维克(Nils Helge Garli Hegvik)在博客上写了一篇文章,题目是
记住一篇来自中国的优秀文章
约翰内斯·布罗德沃尔关于
与码头和码头的集成测试
JWebUnit,我想扩展他的
嵌入式系统的使用方法
我已经创建了jetty pluto设置。这
结果证明这很容易
最后是Spring框架文档
org.springframework.mock.web.portlet
包包含一组Portlet API
模拟对象,用于
Spring的Portlet MVC框架
[…]org.springframework.test.web
包包含模型和视图断言
,
它可以与
任何测试框架(例如JUnit 4+,
TestNG等)进行单元测试
使用Spring MVCmodel和view
对象
[…]要测试Spring MVC控制器,请使用
modelandview断言
与
MockHttpServletRequest
,
MockHttpSession
等,从
org.springframework.mock.web包
以下是约翰·弗格森·斯马特(John Ferguson Smart)撰写的一篇相关文章,标题为
这件事的一大好处是
框架就是它的可测试性。在里面
Spring MVC,任何自定义验证器(用于
字段和表单验证)和
属性编辑器(用于转换文本)
特定Java类型的字段)是
非常容易测试-你可以直接测试
他们好像在孤立的波乔那里
SpringMVC还附带了一整套
可以使用的模拟对象(与
一点练习)来测试你的
控制器,让您心满意足。
例如,您可以使用如下类
MockHttpServletRequest
和
MockHttpServletResponse
模拟
您的HTTP请求和响应
物体。这也因为
Controller
s可以
实例化为普通Java类。
例如,假设您正在测试一个
用于以下页面的控制器类:
更新客户端详细信息记录。你
可以非常简单地如下所示:
签出spring test portlet mvc(),它将MockMvc的特性公开给门户上下文,并允许您轻松地集成测试spring portlet。我想跳过第一个建议。PortletUnit已经很多年没有被接触过了,我找不到任何关于它的文档,我甚至不确定它是否适用于典型的企业设置。
public class UpdateClientTest {
//
// Prepare your request
//
request.setMethod("POST");
request.setParameter("id", "100");
request.setParameter("firstName", "Jane");
request.setParameter("lastName", "Doe");
//
// Invoke the controller
//
controller = new ChoosePeriodController();
ModelAndView mav = controller.handleRequest(request, response);
//
// Inject any service objects you need
//
controller.setClientService(clientService);
...
//
// Inspect the results
//
assert mav != null;
assertEquals("displayClient",mav.getViewName());
Client client = (Client) mav.getModel().get("client");
assertEquals("Jane",client.getFirstName());
assertEquals("Doe",client.getLastName());
...
}
...