我尝试了各种技术,但都没有创建自定义错误消息。 有没有人设法解决这个问题?
const { statusCode, body } = serverRequest.response;
if (statusCode !== 200 || statusCode !== 201) {
const { errorKey, subErrorKey, errorMsg } = body?.error || {};
Cypress.runner.stop();
throw new Error(`${errorKey}->${subErrorKey}-${errorMsg}`);
}
答案 0 :(得分:1)
throw new Error(...)
本身将停止当前的当前测试,或者如果它在 before()
或 beforeEach()
中的所有测试。
before(() => {
...
const { statusCode, body } = serverRequest.response;
if (statusCode !== 200 || statusCode !== 201) {
const { errorKey, subErrorKey, errorMsg } = body?.error || {};
throw new Error(`${errorKey}->${subErrorKey}-${errorMsg}`);
}
...
})
Cypress 会停止,例如“因为在 'before()' 中发生错误,我们将不执行任何测试”。
答案 1 :(得分:0)
抛出新的错误足以停止案例。我认为您的代码只需要删除 Cypress.runner.stop();
,因为它会关闭所有内容。
const { statusCode, body } = serverRequest.response;
if (statusCode !== 200 || statusCode !== 201) {
const { errorKey, subErrorKey, errorMsg } = body?.error || {};
throw new Error(`${errorKey}->${subErrorKey}-${errorMsg}`);
}