use*_*612 2 java reflection gwt junit gwttestcase
我是GWT/Java的新手,需要一些关于如何解决这个(似乎应该是)简单问题的想法.
我有一个GWT对象,我正在尝试测试一个私有方法:
public class BarChart extends FlowPanel {
public BarChart() {
super();
privateMethod();
}
privateMethod() {
//want to test this
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过JUnit,但它需要是一个GWTTestCase,因为这个对象需要GWT.create(),我尝试过反射但GWTTestCase不支持它.
我知道这不是你要找的答案,但单元测试私有方法是不好的形式.
您应该重构代码,以便可以通过公共API测试/观察私有方法的影响.
由于您提供的代码示例很短,因此很难提供特定的策略,但我可以对用例做一些一般性陈述.
测试私有方法的最佳方法是通过另一种公共方法.如果无法执行此操作,则满足下列条件之一:
此外,您可以使用GWT UIBinder将UI代码与应用程序逻辑分开.一旦UI被分离出来,您就可以使用JUnit测试来测试剩余的代码.GWTTestcases仅适用于需要GWT.create(...)的类,并且运行速度非常慢(与junit相比),因此最好构造代码,以便大多数测试可以使用junit完成,然后使用gwttestcase覆盖其余部分.如果你可以实现这个结构,那么它开辟了使用easymock/mockito/reflection等测试的额外途径.
| 归档时间: |
|
| 查看次数: |
478 次 |
| 最近记录: |