【问题标题】:Integration test for Application that interacts with web与 Web 交互的应用程序的集成测试
【发布时间】:2013-04-12 07:56:41
【问题描述】:

如何为与网站交互的应用程序编写集成测试? 更具体地说,我有一个与 Flickr 网站交互的应用程序。在 OAuth 授权过程中,flickr 网站显示验证器代码,用户必须将其复制并粘贴到我的应用程序中。现在我如何自动化这个过程,以便我可以自动测试应用程序。我正在使用 swing 作为 GUI。

【问题讨论】:

    标签: java unit-testing junit integration-testing


    【解决方案1】:

    编写依赖于外部服务的自动化可能很棘手。对于这样的事情,我建议你设置一个模拟服务,或者其他使用预设响应的方式。

    我在这方面取得了一些成功:

    • 编写外部模拟服务,使用类似bottle.py 的东西。这样做的好处是几乎不需要对现有代码库进行修改,但显然需要做一些工作来确保这个外部进程作为测试套件的一部分得到正确管理,尤其是在 CI 环境中运行测试时。

    • 使用依赖注入,您可以编写模拟网络组件,并将真实网络组件交换为您的模拟组件进行测试。我推荐这种方法,但它需要对您的代码库进行一些修改。

    【讨论】:

    • 好的,但是如何测试 GUI,尤其是用户必须将验证器字符串复制并粘贴到 JTextField 中的部分?这部分可以自动化吗?
    • 您最初是如何进行测试的?我关于模拟服务的观点是建议您始终知道要粘贴的正确代码,然后您就可以通过#setText() 以编程方式设置它
    • 在我的测试中,我直接与 flickr 服务器对话,但正如你所建议的,现在我的测试与模拟服务对话,所以我确切知道要使用#setText () 粘贴什么。
    猜你喜欢
    • 2014-02-11
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    相关资源
    最近更新 更多