我有一个Web工具,在查询时会根据URL中的参数返回生成的Java类。
我们从网络服务器检索的课程每天都在变化,我们需要确保他们仍然可以处理已知的输入。
请注意,这些类不测试Web服务器,它们在本地运行并将xml转换为自定义格式。我没有测试网络服务器。
然后必须将这些类放在特定的包结构中,编译并针对一组已知的输入数据运行,并与已知的输出数据进行比较。
我想每晚自动执行此操作,以确保生成的类正确无误。
实现这一目标的最佳方法是什么?
具体说明最佳方式:
我确信junit和ant的组合能够实现这一目标,但是有没有标准的解决方案/方法呢?
答案 0 :(得分:2)
首先,回答你的问题:不,我认为没有标准方法。这听起来很不寻常; - )
鉴于此,我要做的是将JUnit测试写入所有调用类GeneratedCode
,然后,一旦下载代码,将类重命名为GeneratedCode
,编译并运行你的单元测试。
答案 1 :(得分:2)
答案 2 :(得分:0)
您应该为您的Web服务创建一个“模拟”界面,它(a)的行为方式相同,(b)返回已知答案。
然后,您应该使用实时Web服务进行一些其他集成测试,其中一个人查看结果并确定它们是否有效。
答案 3 :(得分:0)
您是否只能在Web服务上发布后测试生成的类?您无法在生成期间或之后进行测试?
如果生成的代码不复杂,一个想法是通过GroovyClassLoader加载它并对其运行测试。有关示例,请参阅this page。