如何为Java应用程序设置“测试模式”?

时间:2011-08-18 11:42:52

标签: java unit-testing htmlunit

我正在开发一个Java Web应用程序,其中包含在Jetty中部署应用程序的单元测试。我使用HtmlUnit来点击应用程序并进行一些高级测试。我进行了设置,以便我可以使用单例探针修改我的系统配置并添加“测试”标志 - 这很方便,因为我希望能够运行一些测试而无需验证实际用户或检查用户角色

然而,在部署应用程序时,它似乎可以为漏洞敞开大门。我正在寻找有关如何使这个“后门”更具弹性的建议。我可以使用模拟对象来处理这个问题,但我认为这仍然会让后门暴露出来。

3 个答案:

答案 0 :(得分:1)

使用足够长的特殊参数来假设。例如GUID。它甚至可以在您的应用程序中进行硬编码。所有测试都会将此参数附加到他们正在使用的每个URL。您可以使用特殊的HttpFilter检查此参数并打开测试模式。

答案 1 :(得分:1)

围绕用于将应用程序更改为测试模式的过程提供某种安全性 - 该页面的基本身份验证或其他内容。这可以直接在web.xml中配置。

答案 2 :(得分:1)

我有专门用于在所有环境中进行测试的用户帐户。我使用真正的注册过程创建它们,没有任何手工制作。

这绕过了您的问题,允许我测试登录过程,如果需要,我创建了多个具有不同特征/角色的用户,我可以对其进行测试。

由于用户在我的控制之下,因此它们保持一致并符合预期的测试结果。