运行 带有断言 expect(xhr.requestBody.test).to.not.exist 的赛普拉斯测试用例,但 eslint 抛出错误
running cypress test cases with assertion expect(xhr.requestBody.test).to.not.exist, but eslint throws error
cy.wait("api").then((xhr: any) => {
expect(xhr.method).to.eq("POST");
expect(xhr.status).to.eq(200);
expect(xhr.requestBody.test).to.not.exist;
});
期待(xhr.requestBody.test).to.not.exist;此行抛出 eslint 错误,如下所示:
error Expected an assignment or function call and instead saw an expression @typescript-eslint/no-unused-expressions
在我看来你有多种选择来解决这个问题:
第一个也是推荐的选项是重写您的断言,例如如下:
const bodyContainsTest = xhr.requestBody.hasOwnProperty('test');
expect(bodyContainsTest).to.be.false;
第二个选项是简单地为下一行禁用该规则:
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(xhr.requestBody.test).to.not.exist;
如果需要,另一种选择是为您 .eslintrc.json
中的所有赛普拉斯测试文件全局禁用此规则:
"@typescript-eslint/no-unused-expressions": "off",
在 tslint-playground 验证。
通过 linter 的两个候补:
expect(xhr.requestBody).to.not.have.property(test)
expect(xhr.requestBody.test).to.eq(undefined)
cy.wait("api").then((xhr: any) => {
expect(xhr.method).to.eq("POST");
expect(xhr.status).to.eq(200);
expect(xhr.requestBody.test).to.not.exist;
});
期待(xhr.requestBody.test).to.not.exist;此行抛出 eslint 错误,如下所示:
error Expected an assignment or function call and instead saw an expression @typescript-eslint/no-unused-expressions
在我看来你有多种选择来解决这个问题:
第一个也是推荐的选项是重写您的断言,例如如下:
const bodyContainsTest = xhr.requestBody.hasOwnProperty('test');
expect(bodyContainsTest).to.be.false;
第二个选项是简单地为下一行禁用该规则:
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(xhr.requestBody.test).to.not.exist;
如果需要,另一种选择是为您 .eslintrc.json
中的所有赛普拉斯测试文件全局禁用此规则:
"@typescript-eslint/no-unused-expressions": "off",
在 tslint-playground 验证。
通过 linter 的两个候补:
expect(xhr.requestBody).to.not.have.property(test)
expect(xhr.requestBody.test).to.eq(undefined)