Я работаю над созданием модульной системы тестирования, и я пытаюсь выяснить, как возможен вывод следующего раздела кода без использования глобальных переменных:Создание модульной структуры тестирования, аналогичной Mocha JavaScript
describe("Test Title", function() {
it("should return a string", function() {
/* Assertions here */
});
});
//OUTPUT: "PASS: Test Title should return a string"
Может кто-нибудь объяснить, как вызов метода it
каким-то образом удается получить один из его параметров до describe
?
Если это не ясно, я пытаюсь сказать, что я хотел бы знать, как переменная может перемещаться через обратные вызовы. Если я понимаю, что происходит, вызов метода внешней функции в обратном вызове каким-то образом получает аргумент другой внешней функции.
Вы можете посмотреть, как mocha определяет интерфейс BDD здесь: https://github.com/visionmedia/mocha/blob/master/lib/interfaces/bdd.js – naomik
Я не совсем уверен, почему вы пытаетесь изобретать колесо здесь. Если вы не делаете что-то совершенно другое. – naomik
Спасибо за ссылку @naomik. Это школьный проект, поэтому я пытаюсь понять это. Возможно ли, что вы можете вызвать обратный вызов с помощью метода '.call'? Не могли бы вы передать переменную для использования в другом методе? – HarrisonG16