【问题标题】:How to import "describe" and "it" from mocha in TypeScript?如何在 TypeScript 中从 mocha 导入“describe”和“it”?
【发布时间】:2017-02-10 12:07:46
【问题描述】:

默认情况下,在 TypeScript 中导入 mocha 时,会将 describeit(以及其他一些)引入全局命名空间。

有没有办法引入特定的导入,例如 import {describe, it} from 'mocha'

【问题讨论】:

  • 为什么首先要导入它们?当您运行 mocha 时,它们将在全球范围内可用。所需要做的就是提供可用的类型
  • 只是因为我想首先避免全局变量。我意识到 mocha 默认行为是将它们放在全局命名空间中,但我希望他们有办法显式导入它们。

标签: typescript mocha.js


【解决方案1】:

我遇到了错误和警告问题,问题源于我将 tsconfig.json 重命名为其他名称,这使 Visual Studio Code 进入“文件范围”而不是“显式项目”。这使得在没有红色波浪的情况下无法导入it。现在我已将配置重命名为 tsconfig.json,然后 import 'mocha'; 就像 Eryk 提到的那样工作。

https://code.visualstudio.com/Docs/languages/typescript

【讨论】:

    【解决方案2】:

    安装 mocha 及其类型:

    npm install mocha --save-dev
    npm install @types/mocha --save-dev
    

    然后,只需在您的测试文件中导入 mocha:

    import 'mocha';
    
    describe('my test', () => {
      it('does something', () => {
        // your test
      });
    });
    

    【讨论】:

    • 事实上,只有安装@types/mocha 才能开箱即用。 :)
    【解决方案3】:

    从 TypeScript 2.0 开始,您可以将 mocha 添加到您的 types 配置中 tsconfig.json 并且它将始终被加载:

    {
      "compilerOptions": {
        "types": [
          "mocha"
        ]
      }
    }
    

    【讨论】:

    • 这是有效的,因为 @types/mocha 包存在,不是吗?
    猜你喜欢
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多