代码之家  ›  专栏  ›  技术社区  ›  Neil Foley

发电机组自动测试

  •  5
  • Neil Foley  · 技术社区  · 15 年前

    我有一个Web工具,当查询时,根据URL中的参数返回生成的Java类。

    我们从Web服务器检索的类每天都在变化,我们需要确保它们仍然可以处理已知的输入。

    注意,这些类不测试Web服务器,它们在本地运行并将XML转换为自定义格式。我没有测试Web服务器。

    然后,这些类必须放在特定的包结构中,根据一组已知的输入数据进行编译和运行,并与已知的输出数据进行比较。

    我想每天晚上自动执行这个操作,以确保生成的类是正确的。

    实现这一目标的最佳方法是什么?

    具体来说,最好的方法是:

    1. 从Web服务器检索代码并将其放在文件中
    2. 编译代码然后调用它

    我相信JUnit和Ant的组合能够实现这一点,但是是否有标准的解决方案/方法?

    4 回复  |  直到 10 年前
        1
  •  2
  •   Paul Wagland    15 年前

    首先,回答你的问题:不,我不认为 标准 为此采取措施。这听起来很不寻常;-)

    鉴于此,我要做的是编写JUnit测试来调用一个类 GeneratedCode ,然后,下载代码后,将类重命名为 生成代码 ,编译并运行单元测试。

        2
  •  2
  •   Karussell    15 年前

    您的目标与持续集成相同;-)

    对于这个简单的任务,可能有点过分,但这是获取某些东西、编译某些东西和定期测试某些东西的标准方法。

    你可以试一下 hudson .

        3
  •  0
  •   S.Lott    15 年前

    您应该为您的Web服务创建一个“模拟”接口,该接口(a)的行为与(b)返回一个已知的答案。

    然后,您应该对实时Web服务进行其他集成测试,在该服务中,一个人查看结果并决定它们是否有效。

        4
  •  0
  •   pgras    15 年前

    只能在WebService上发布生成的类之后测试它们吗?你在这一代人中或刚一代人之后没有办法去测试?

    如果生成的代码不太复杂,一个想法是通过groovyclassloader加载它,并针对它运行测试。见 this page 例如。