我已经用maven进行了单元和集成测试,但我正试图将带角度(前端(的端到端测试转移到maven,这样我就可以在同一个maven构建中连接测试金字塔的每一层,但我在做这件事时遇到了麻烦。
我的spring-boot应用程序有一些依赖项,比如postgres和keycloft。我试图";mock";做依赖项(在单元和集成测试中,我将postgres与testcontainers一起使用(,这样我就可以拥有一个独立的环境,而不依赖于外部服务是否运行。
我设法打开了chrome,并用selenium和chrome驱动程序进行了一些点击,但所有这些都在我的本地数据库和前端应用程序上运行,我需要启动并运行它。我想要一些稍后可以与詹金斯集成的东西,所以我需要一些单独工作的东西。
我在网上搜索了一下,但找不到这样的场景。有人能帮忙吗?
您可以将Jenkins流作为
+--------------+ +-----------------+ +-----------+
| | | Setup Phase | | |
| Trigger Test | -------->| DB setup and |------>| Run Tests |
| | | Any other setup | | |
+--------------+ +-----------------+ +-----------+
您的整个端到端测试将分为两个阶段。在第一阶段,您必须配置所有所需的服务,如数据库、缓存层、任何第三方服务(如Key斗篷(的测试凭据。例如您需要使用正在运行的Postgresql或服务所需的任何其他数据库。对于其他第三方服务,如果可用,您可以使用它们的沙箱,否则每次测试运行都使用不同的配置(也可以有多个配置,并根据其他正在运行的测试选择它们(。一些第三方服务会要求您拥有公共域/URL。在这种情况下,您需要在公共URL后面配置您的服务。
一旦配置了整个系统,就可以开始使用API来收集使用测试脚本的响应。可能有一段时间,API可能无法为您提供您正在查找的确切数据,在这种情况下,您可以在代码中添加新的API或使用其他技术来收集数据,如DB查询、使用FTP运行一些手动/自动脚本等