java - 与Web交互的应用程序的集成测试

标签 java unit-testing junit integration-testing

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

最佳答案

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

我已经通过几种方式成功做到了这一点:

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

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

关于java - 与Web交互的应用程序的集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16095881/

相关文章:

java - 测试时持久性不同

java - liferay 上的 Grails portlet

c# - 测试订阅 EventAggregator

Android Gradle 单元测试从 JAR 迁移 - 从 junit 和 mockito 复制 hamcrest 文件

java - Java游戏编程

javascript - 当输入参数为空时,如何编写函数返回的 Jasmine 期望?

java - 对多个单元测试使用相同的 junit 临时文件夹

java - 使用mockito模拟返回ByteBuffer的方法的响应

java - 使用 createQuery()、参数和executeUpdate() 模拟 Hibernate 实体管理器

java - 在 Java 中使用 PriorityQueue 的第 k 个最小数的时间复杂度