Cypress .intercept() 不在 CircleCI 中工作,在本地工作

EHe*_*man 6 circleci cypress

我有一组测试在本地运行良好,但是当它们在 CircleCI 构建内部运行时,拦截命令无法按预期工作。检查 Cypress 记录表明从未提出任何请求。

测试代码:

before( () => {
   cy.intercept( 'GET', '**wp-json/wp/v2/pages?context=edit&status%5B0%5D=publish**' ).as( 'getPages' );
   cy.intercept( 'GET', '**wp-json/wp/v2/posts?context=edit&status%5B0%5D=publish**' ).as( 'getPosts' );

   openComplementaryArea( 'Site contents' );

   // Make sure our data has loaded.
   cy.wait( '@getPages' ).its( 'response.statusCode' ).should( 'eq', 200 );
   cy.wait( '@getPosts' ).its( 'response.statusCode' ).should( 'eq', 200 );
} );
Run Code Online (Sandbox Code Playgroud)

我尝试增加拦截命令等待的时间,但请求仍然无法通过。

有什么想法为什么这可以在本地运行,但不能在 CircleCI 构建中运行?这几天我一直在胡思乱想,尝试了我能想到的一切。

本地主机: 在此输入图像描述

CircleCI 构建: 在此输入图像描述

EHe*_*man 0

简而言之,我正在检查/wp-json/需要漂亮永久链接的端点。在全新安装的 WordPress 中,默认的永久链接结构使 REST 端点可以通过?rest_route=/. 将它们更新为漂亮的永久链接使我的赛普拉斯测试正常工作。

因此,解决方案是在 CircleCI 构建中,在站点安装期间将 WordPress 选项设置permalink_structure 为。/%postname%/