Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与web交互的应用程序的集成测试_Java_Unit Testing_Junit_Integration Testing - Fatal编程技术网

Java 与web交互的应用程序的集成测试

Java 与web交互的应用程序的集成测试,java,unit-testing,junit,integration-testing,Java,Unit Testing,Junit,Integration Testing,如何为与网站交互的应用程序编写集成测试? 更具体地说,我有一个与Flickr网站交互的应用程序。在OAuth授权过程中,Flickr网站显示验证程序代码,用户必须复制并粘贴到我的应用程序中。现在,我如何使这个过程自动化,以便能够自动测试应用程序。我正在使用swing for GUI。编写依赖于外部服务的自动化可能会很棘手。对于类似的事情,我建议您设置一个模拟服务,或者使用固定响应的其他方式 我通过两种方式成功地做到了这一点: 编写一个外部模拟服务,使用类似。这样做的优点是不需要对现有代码库进行

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

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

我通过两种方式成功地做到了这一点:

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

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


好的,但是如何测试GUI,特别是用户必须将验证器字符串复制并粘贴到JTextField中的部分?有可能使这部分自动化吗?首先,你是如何驱动测试的?关于模拟服务,我的观点是建议您始终知道要粘贴的正确代码,然后您可以通过#setText()以编程方式进行设置。在我的测试中,我直接与flickr服务器交谈,但正如您所建议的,现在我与模拟服务进行了测试对话,因此我完全知道使用#setText()粘贴什么。