2013-02-23 106 views
2

我是Liferay的新手。任何人都可以帮助指导我如何使用liferay关注测试驱动开发。Liferay的测试驱动开发

任何人都可以提供指导如何编写测试和使用Eclispe的IDE开发的portlet执行呢?

+0

这是非常广泛的。你能提供更多关于你的背景和你想看到的具体问题的信息吗?对这样一个广泛的问题写一个具体的答案是不可能的。 – 2013-02-25 09:23:27

+0

我是一名学生。我之前为Java类编写了JUnit测试用例。我现在正在做一个关于liferay的项目。我期待您帮忙编写Liferay的样例测试用例,例如为liferay中的登录页面编写测试用例。 – user 2013-02-26 04:02:38

回答

1

Portlet是固有的用户界面为中心,你就会有同样的问题,几乎所有的UI层的代码来测试驱动开发它们。我个人更喜欢在用户接受的基础上开发用户界面,尽可能让它尽可能浅,并测试底层业务逻辑,让用户界面布线代码审查而不是自动化测试。我知道这在测试覆盖率方面留下了一个漏洞,但我觉得大部分的UI层测试都是80%的设置,5%的实际断言(最大)和15%的拆解代码。恕我直言,这不构成有价值的测试案例。

当您具体询问测试驱动开发:请记住,TDD主要是一种设计技术。由此产生的测试是非常受欢迎的附属品,但主要目的是设计被测软件。 (与纸张设计或其他非TDD风格相比,TDD软件本质上看起来不同)。当UI框架强加架构和设计的很大一部分时,这并不足以用TDD“设计” - 所以我宁愿设计用户交互并使其引人注目(同时尽可能保持它较薄)

就这样,随意在你的UI上添加集成测试 - 通常你不会使用JUnit是什么,以及执行时间可能比你的单元测试更长的时间,但是这将是值得拥有该类型的测试在你的用户界面之上。只是不要期望太多洞察你的UI层从测试方面设计它。保留这些用于业务层(以及您在UI层使用的各种实用程序样式代码位),但不能用于业务层到用户交互的纯连线。

0

完全同意Olaf Kock。

如果你喜欢TDD,你可以用这个方法,而对于一些用户界面中心的组件,如门户,最好在测试代码编写后使用编写测试传统方法设计一个业务层。例如,您可以使用Selenium WebDriver自动执行浏览器操作来测试UI。