TypeError: для набора конструкторов требуется 'new' - PullRequest
0 голосов
/ 23 января 2019

При получении моего набора тестов в шутку получается «Ошибка типа: для набора конструкторов требуется« новый »»

.babelrc конфигурация:

{
  "presets": [["env", { "modules": false }]],
  "env": {
    "test": {
      "presets": [["env"]]
    }
  }
}

Тестовый набор:

test('Constructor Set requires "new"', () => {
  class A extends Set {
    constructor(...arg) {
      super(...arg);
      this.add(10);
    }
  }

  const a = new A([1, 2]);
  expect([...a][2]).toEqual(10);
});

Ожидается, что тест должен пройти. Вместо этого появляется ошибка:

TypeError: Constructor Set requires 'new'
        at A.Set (<anonymous>)

      1 | test('Constructor Set requires "new"', () => {
      2 |   class A extends Set {
    > 3 |     constructor(...arg) {
        |                         ^
      4 |       super(...arg);
      5 |       this.add(10);
      6 |     }

1 Ответ

0 голосов
/ 25 января 2019

Для решения проблемы необходимо установить цели для плагина preset-env.Для jest это node.(Он может быть размещен в "test" разделе .bybelrc)

"env": {
  "test": {
    "presets": [["env", { "targets": { "node": true } }]]
   }
 }
...