我是Liferay的新手。任何人都可以帮助指导我如何使用liferay跟踪测试驱动开发。
任何人都可以提供指导如何使用eclispe IDE编写测试并执行它们来开发portlet吗?
答案 0 :(得分:1)
Portlet本质上是以UI为中心的,您将遇到与几乎所有UI层代码相同的问题,以便将它们开发为testdriven。我个人更喜欢在用户接受的情况下开发UI,尽可能保持浅薄并测试底层业务逻辑,将UI布线留给代码审查而不是自动化测试。
我知道这在测试覆盖率方面留下了漏洞,但我觉得大多数UI层测试都是80%设置,5%实际断言(最大)和15%拆卸代码。恕我直言,这不构成一个有价值的测试案例。
正如您特别询问测试驱动开发:请记住,TDD主要是一种设计技术。由此产生的测试是非常受欢迎的抵押品,但主要目的是设计被测软件。 (与纸质设计或其他非TDD样式相比,TDD软件本质上看起来不同)。当UI框架强加了架构和设计的很大一部分时,这远远不足以用TDD“设计” - 所以我宁愿设计用户交互并使其引人注目(尽管保持尽可能薄)< / p>
有了这个,随意在UI上添加集成测试 - 通常你不会使用JUnit,执行时间可能比单元测试更长,但是值得拥有这种类型您的UI顶部的测试。只是不要期望从测试端设计它对UI层有太多了解。保留这个用于您的业务层(以及您在UI层上使用的各种实用程序样式代码位),但不能用于业务层到用户交互的纯接线。
答案 1 :(得分:0)
完全同意奥拉夫科克。
如果您喜欢TDD,您可以使用此方法设计业务层,而对于某些以UI为中心的组件(如portlet),最好在编写测试代码后使用传统的编写测试方法。例如,您可以使用Selenium WebDriver自动执行浏览器操作以测试UI。