首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为自定义eslint规则编写测试时,AssertionError 'import‘是保留的

为自定义eslint规则编写测试时,AssertionError 'import‘是保留的
EN

Stack Overflow用户
提问于 2020-07-17 00:49:10
回答 1查看 152关注 0票数 0

自定义eslint规则在我们的项目中运行良好,但我不知道如何为它运行测试。我的猜测是,我正在运行错误版本的ecmascript,我需要使用babel或在eslintrc.json中调整一些东西来使其与mocha脚本一起工作。

获取错误消息:

代码语言:javascript
复制
AssertionError [ERR_ASSERTION]: A fatal parsing error occurred: Parsing error: The keyword 'import' is reserved

测试:

代码语言:javascript
复制
/**
 * @fileoverview Prohibit import underscore to help tree
 * @author Jason Hocker
 */
"use strict";

//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------

var rule = require("../../../lib/rules/no-full-lodash-import"),

RuleTester = require("eslint").RuleTester;


//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

var ruleTester = new RuleTester();
ruleTester.run("no-full-lodash-import", rule, {

valid: [
    {code: "import os from \"os\";\nimport fs from \"fs\";" },
    {code: "import { merge } from \"lodash-es\";"}
],

invalid: [
    {
        code: "import _ from 'lodash';",
            errors: [{
                message: "Fill me in.",
                type: "Me too"
            }]
        }
    ]
});

我尝试过的.jslintrc.json文件之一:

代码语言:javascript
复制
{
"env": {
    "browser": true,
    "es6": true,
    "mocha": true // add mocha as true to your ".eslintrc. *" file
},
"parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": {
        "jsx": true
    }
},
"rules": {
    "semi": "error"
}
}
EN

回答 1

Stack Overflow用户

发布于 2021-01-03 03:02:27

ESLint docs建议您可以将配置对象传递给RuleTester构造函数。

在您的例子中,它可能看起来像这样:

代码语言:javascript
复制
var config = {
  env: {
    browser: true,
    es6: true,
    mocha: true, // add mocha as true to your ".eslintrc. *" file
  },
  parserOptions: {
    ecmaVersion: 6,
    sourceType: 'module',
    ecmaFeatures: {
      jsx: true,
    },
  },
}
var ruleTester = new RuleTester()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62939602

复制
相关文章

相似问题

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