Java 发电机组自动测试
我有一个web工具,当被查询时,它会根据URL中的参数返回生成的Java类 我们从Web服务器检索的类每天都在变化,我们需要确保它们仍然能够处理已知的输入 注意:这些类不测试Web服务器,它们在本地运行并将xml转换为自定义格式。我不是在测试Web服务器 然后,这些类必须放在特定的包结构中,并根据已知的输入数据集编译和运行,并与已知的输出数据进行比较 我想每天晚上都自动这样做,以确保生成的类是正确的 实现这一目标的最佳方式是什么 具体来说,最好的方法是:Java 发电机组自动测试,java,testing,junit,Java,Testing,Junit,我有一个web工具,当被查询时,它会根据URL中的参数返回生成的Java类 我们从Web服务器检索的类每天都在变化,我们需要确保它们仍然能够处理已知的输入 注意:这些类不测试Web服务器,它们在本地运行并将xml转换为自定义格式。我不是在测试Web服务器 然后,这些类必须放在特定的包结构中,并根据已知的输入数据集编译和运行,并与已知的输出数据进行比较 我想每天晚上都自动这样做,以确保生成的类是正确的 实现这一目标的最佳方式是什么 具体来说,最好的方法是: 从Web服务器检索代码并将其放入文件中
然后,您应该对live web服务进行其他一些集成测试,让用户查看结果并确定它们是否有效。首先,回答您的问题:不,我认为没有标准的方法可以实现这一点。这听起来很不寻常;-)
有鉴于此,我要做的是编写JUnit测试来调用一个类
GeneratedCode
,然后,下载代码后,将该类重命名为GeneratedCode
,编译并运行单元测试。您的目标与持续集成相同;-)
对于这个简单的任务来说,可能有点过分了,但这是获取、编译和定期测试的标准方法
例如,您可以尝试。您能否仅在生成的类发布到Web服务上后测试它们?您没有办法在生成期间或生成之后进行测试
如果生成的代码不太复杂,一个想法是通过GroovyClassLoader加载它并对其运行测试。参见示例。类似的问题在你提问前18分钟被问到:你可能也想追踪一下:)更新:你们都来自伦敦。。同事?:既然这一个提供了更多的细节,我们投票关闭另一个,作为这一个的复制品怎么样?哈哈哈,不,我们不合作。伦敦是一个相当大的地方。感谢您的帮助我不确定它们是否彼此重复…另一个问题是如何自动生成java代码的单元测试,这是如何根据已知良好的输入/输出测试一些随机代码。我认为这是一个不同的问题。嗨,我刚刚澄清了这个问题,这不是为了测试Web服务,我只是从中检索类。我讨厌模拟。通常一开始创建web服务的工作量是创建web服务的两倍,最后你会花费所有的调试时间试图找出错误是在web服务中还是在模拟中。@Paul Tomblin:对与错。这应该是更多的工作。如果您的模拟需要大量调试,那么您对所模拟的内容理解不够。如果Web服务定义不好,那么这就是课程的标准。调试mock通常比调试应用程序简单,因此从长远来看,它是平衡的。更多的前期时间来构建模拟。对我来说,任务更多的是构建自动化,而不是持续集成。hudson是一个很好的建议,但我会首先使用maven(或ant)并使用hudson来执行构建脚本(请欣赏伟大的基于web的报告:)