Tl; др:
npx -p chai -p mocha mocha test.js
возвращает ошибку: не удается найти модуль 'chai'
Вопрос: я не могу использовать чай здесь? Потому что ..? ... Это не исполняемый файл?
Контекст:
Я подумал, что хорошим вариантом использования npx будет написание тестовых примеров и кода вместе в одном файле и запуск этих тестов (кажется, идеально подходит для того, чтобы дать людям возможность взять в руки tdd, не слишком заботясь об окружающей экосистеме.)
Этот пример мокко прекрасно работает:
// addOne/test.js
const assert = require('assert')
function addOne(num){
return isNaN(num) ? 'not a number' : num+1
}
describe('addOne', function() {
it('returns a number increased by a value of 1' , function(){
assert.equal(addOne(0), 1)
assert.equal(addOne(-1), 0)
assert.equal(addOne(.1), 1.1)
})
it('returns the message "not a number" if given a non-number value', function(){
assert.equal(addOne('foo'), 'not a number')
assert.equal(addOne(function(){return 2}), 'not a number')
})
})
(В корне каталога addOne запустите npx mocha test.js
)
ОДНАКО
Что если я хочу использовать библиотеку ожиданий, например, «ожидание» Чая?
var chai = require('chai')
var expect = chai.expect
< function >
describe('addOne', function() {
it('returns a number increased by a value of 1' , function(){
expect(addOne(0)).to.equal(1)
< etc >
Зная, что я могу установить несколько пакетов с npx, я попытался запустить
npx -p chai -p mocha mocha test.js
но получите: Error: Cannot find module 'chai'
Я достиг ограничения по NPC? Должны ли все предоставляемые вами пакеты быть исполняемыми?