笑话遇到了意外的令牌:实现try / catch

时间:2019-07-16 20:28:23

标签: javascript jestjs babel babel-jest

我遇到以下错误:

  

Jest遇到意外令牌....

     

}抓到{

     ^

我假设我需要babel来转换要导入的文件,但是我不了解jest / babel是如何连接在一起的。如何获取它来转换导入的文件,以便进行try / catch。

我有以下代码:

babel.config.js

module.exports = {
    presets: [
        [
            '@babel/preset-env',
            {
                targets: {
                    node: 'current',
                },
            },
        ],
    ],
};

package.json

{
  "name": "tests",
  "scripts": {
    "test": "jest"
  },
  "author": "jonny-b",
  "dependencies": {
    "jest": "^24.8.0",
    "ruby-script": "^1.0.3"
  }
}

index.js

class Collection extends Array {
    constructor(array) {
        super(array.length);
        Object.assign(this, array);
    }

    //....

    drill(...indices) {
        if (this[indices] === null) return null;
        if (indices.length === 1) return this[indices];
        let indexes = indices.splice(indices[0]);
        try {
            let collection = new Collection(this[indices[0]]);
            return collection.drill(...indexes);
        } catch {
            throw `${typeof (this[indices[0]])}`
        }
    }
}

script.test.js

let Collection = require('<path to file>/index.js');

describe('ruby-script', () => {
         it('should error if called on a non collection return value', () => {
            let collection = new Collection([1, [2, [3, [4, [5, [6, [7]]]]]]]);

            expect(collection.dig(1)).toEqual(true)
        })   
}

0 个答案:

没有答案