我有一个JUnit测试,我在一个类上运行,但我最近为GWT编写了一个模拟版本.由于规范是相同的,我想使用相同的测试用例,但我希望它在GWT环境中运行,这通常通过扩展GWTTestCase来完成.
我真的想避免任何复制/粘贴废话,因为将来可能会增加测试,我不应该为以后的复制负担.
如何导入/继承我的标准单元测试以作为常规测试用例或GWT测试用例运行?
我找到了解决这个问题的方法.
如果使用GWTTestCase扩展原始测试,则可以覆盖getModuleName以返回null.这告诉GWTTestCase作为普通的纯java测试运行(根本没有翻译).
然后,您可以使用覆盖getModuleName的示例扩展此测试用例以返回模块名称,并且将使用转换运行相同的测试.
基本上:
public class RegularTest extends GWTTestCase {
@Override
public String getModuleName() { return null; }
public void testIt() {...}
}
Run Code Online (Sandbox Code Playgroud)
......和GWT版本......
public class GwtTest extends RegularTest {
@Override
public String getModuleName() { return "some.module"; }
}
Run Code Online (Sandbox Code Playgroud)
这样做的缺点是它迫使你使用JUnit3样式测试,我发现它有点烦人,但它击败了替代品.
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |