Прежде всего, I'm tired of writing "require"
является худшей причиной для использования переменной GLOBAL. Существует причина, по которой использование require
является обычным способом ведения дел, и оно ничем не отличается от любого другого языка, где вам нужно import
или вводить using
в каждом файле. Это только облегчает понимание того, что код делает позже.
См. this для дальнейшего объяснения.
Теперь, при этом, когда требуется should
, модуль фактически присоединяется к переменной GLOBAL и делает доступными методы describe
, it
и should
.
index.js
require('should');
describe('try global', () => {
it('should work with global', () => {
let user = { name: 'test' };
global.should(user).have.property('name', 'test');
});
it('should work without global', () => {
let user = { name: 'test' };
should(user).have.property('name', 'test');
});
});
//////
mocha ./index.js
try global
√ should work with global
√ should work without global
2 passing (11ms)
Я исправил опечатки в вашем коде (например, удалив лишние )
из describe
и it
функции), и этот код прекрасно работает при работе с mocha ./index.js
. Убедитесь, что вы установили mocha
с npm i -g mocha
, чтобы модуль был доступен в CLI.