在 GWTTestCase 中运行当前的 Junit 测试
我有一个在一个类上运行的 JUnit 测试,但我最近为 GWT 编写了一个模拟版本。由于规范相同,我想使用相同的测试用例,但我希望它在 GWT 环境中运行,这通常通过扩展 GWTTestCase 来完成。
我真的想避免任何复制/粘贴的废话,因为将来可能会添加测试,我不应该在以后承担复制的负担。
如何导入/继承我的标准单元测试以作为常规测试用例或 GWT 测试用例运行?
I have a JUnit test that I run on one class, but I recently wrote an emulated version for GWT. Since the specification is the same, I would like to use the same test case, but I want it to run in the GWT environment, which would typically be accomplished by extending GWTTestCase.
I really want to avoid any copy/paste nonsense, because there are likely to be added tests in the future, which I should not be burdened with copying later.
How can I import/inherit my standard unit test to be run as either a regular test case or a GWT test case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我已经找到了这个问题的解决方案。
如果使用 GWTTestCase 扩展原始测试,则可以重写 getModuleName 以返回 null。这告诉 GWTTestCase 作为正常的纯 java 测试运行(根本没有翻译)。
然后,您可以使用覆盖 getModuleName 的测试用例来扩展该测试用例以返回模块名称,并且将通过翻译运行相同的测试。
基本上:
...以及 GWT 版本...
这样做的缺点是它迫使您使用 JUnit3 样式测试,我觉得这有点烦人,但它胜过其他选择。
I have found the solution to this problem.
If you extend the original test with GWTTestCase, you can override getModuleName to return null. This tells GWTTestCase to run as a normal pure java test (no translation at all).
You can then extend this test case with one that overrides getModuleName to return a module name, and the same tests will be run with translation.
Basically:
...and the GWT version...
The downside to this is that it forces you to use JUnit3 style tests, which I find a little annoying, but it beats the alternative.
我认为没有简单的方法..但是你可以提取你的junit测试的接口,gwt测试用例和junit测试用例实现这个接口。可以创建第三个类来实现,gwt测试用例和junit测试的所有测试调用方法都委托给这个实现类。
I think there is no easy way .. But you can extract an interface of your junit test, gwt test case and junit test case implements this interface. You can create a third class for implementation, all test call methods of gwt test case and junit test are delegated to this implementation class.