Запуск нескольких тестов через npm test и jspm

Я использую jspm для управления модулями в моем проекте.

Я хотел бы написать тесты, используя ленту и используя синтаксис ES6.

Я хотел бы иметь возможность запускать эти тесты из командной строки, используя npm test,

Если я бегу jspm run test/example.js тест запускается непосредственно из командной строки.

Если я добавлю

"scripts" : {
    "test" : "jspm run test/example.js"
}

в package.json а потом беги npm testТест проходит.

Пока все хорошо, но я бы хотел пройти несколько тестов в test реж. jspm run кажется, поддерживает только один модуль за один раз.

Если я заменю jspm run с babel-node, Я получил Error: Cannot find module 'tape', Эта ошибка имеет смысл для меня, т.е. babel-node не знает где tape только jspm делает.

Так есть ли способ сказать npm test"Запустите все эти тесты здесь, и если вы не можете найти модуль, спросите jspm"?

Вот мой образец теста

import test from 'tape';

test('A passing test', (assert) => {

  assert.pass('This test will pass.');

  assert.end();
});

test('Assertions with tape.', (assert) => {
  const expected = 'something to test';
  const actual = 'sonething to test';

  assert.equal(actual, expected,
    'Given two mismatched values, .equal() should produce a nice bug report');

  assert.end();
});

Вот моя структура каталогов.

  package.json
  test
    | - example.js

Вот мой пакет. Json

{
  "name": "playground",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "author": "",
  "license": "ISC",
  "jspm": {
    "devDependencies": {
      "babel": "npm:babel-core@^5.8.24",
      "babel-runtime": "npm:babel-runtime@^5.8.24",
      "core-js": "npm:core-js@^1.1.4",
      "tape": "npm:tape@^4.2.2"
    }
  },
  "devDependencies": {
    "jspm": "^0.16.13"
  },
  "scripts" : {
    "test" : "jspm run test/example.js" //<-- what should I put here?
  }

}

1 ответ

1) Вам нужен какой-то тестовый бегун. Подумайте об использовании кармы с плагином karma-jspm: https://github.com/Workiva/karma-jspm Поскольку вы хотите использовать ленту, рассмотрите возможность добавления карма-крана https://github.com/mapbox/karma-tap

Похоже, что вы хотите протестировать свой код в Node, но, поскольку JSPM является менеджером пакетов для браузера, имеет больше смысла использовать карму и запускать тесты в браузере / безголовом браузере.

2) Если вам нужно протестировать некоторый небраузерный код, рассмотрите возможность использования babel-node с обычными тестовыми программами, такими как mocha. Вам не нужна JSPM для этого.

3) Взгляните на этот пример проекта https://github.com/curran/jspm-mocha-example Я считаю, что ему удалось объединить выполнение jspm, mocha и node.

Другие вопросы по тегам