Наш Мокко набор тестов имеет следующую строку:Node.js «должно» утверждение библиотеки, как она работает?
model.getResourceDependencies.should.be.a.Function;
тестовый код использует should
библиотеки
, как вы можете видеть, что приведенное выше выражение не является ни назначение, ни вызова, или это?
Как это работает? Есть ли какой-то базовый механизм onPropertyRead()
или что-то в этом роде, чтобы библиотека if могла выполнить что-то, даже если никакая функция явно не вызвана?
Кстати, почти невозможно запомнить какие-либо из API или chai API.
ES5 [газопоглотитель] (https://developer.mozilla.org/en/docs/Web/JavaScript/Справочные материалы/Функции/получить)? – user3707125
Просто FYI should.js отдельные геттеры и утверждения, в вашем случае .Function() в последних версиях будет вызовом функции утверждения. Это помогает с линтами по существу и не имеет ложного позитива, когда вы используете неправильное имя getter, например .string, но на самом деле это должно быть .String, например. –
Связано: [Как работает функция ожидания chai?] (Https://stackoverflow.com/q/31605391/1048572) – Bergi