首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeScript中的柏树:摩卡afterEach:如果currentTest失败,停止运行

TypeScript中的柏树:摩卡afterEach:如果currentTest失败,停止运行
EN

Stack Overflow用户
提问于 2020-12-31 00:34:59
回答 1查看 1.2K关注 0票数 1

目标是如果停止任何测试的Cypress运行程序失败,这些Mocha测试是用TypeScript编写的。以下摩卡afterEach()有两个问题..。

代码语言:javascript
运行
复制
/// <reference types="Cypress" />

  afterEach(() => {
    if (this.currentTest.state === 'failed' && 
      this.currentTest._currentRetry === this.currentTest._retries) {
      Cypress.runner.stop();
    }
  });

以下是问题所在:

  1. this.currentTest.* >>>指的是this >>>>>> TS2339: Property 'runner' does not exist on type 'Cypress'

我如何在TypeScript中解决这个问题,并使用// @ts-ignore忽略它?

谢谢,谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-31 12:03:31

是的,你可以使用// @ts-忽略。此外,您还需要使用正则函数() {}语法,而不是lambda“fat箭头”语法() => {}。

参考Cypress文档https://docs.cypress.io/guides/core-concepts/variables-and-aliases.html#Avoiding-the-use-of-this

如果您在测试或钩子中使用箭头函数,则使用此属性访问别名的

将无法工作。这就是为什么我们的所有示例都使用正则函数() {}语法,而不是lambda“fat箭头”语法() => {}。

代码将如下所示

代码语言:javascript
运行
复制
afterEach(function() {
    if (this.currentTest.state === 'failed' && 
      //@ts-ignore
      this.currentTest._currentRetry === this.currentTest._retries) {
      //@ts-ignore
      Cypress.runner.stop();
    }
  });
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65515293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档