2015-01-02 3 views
4

Я использую Velocity с картой mike: mocha и утверждениями chai. Все отлично работает, но когда приходит время, чтобы сделать ступни, насмешливость и шпионаж, я ударил блокпост. Это не основные черты микрофона: мокка или чай, поэтому я нашел practicalmeteor:chai, который должен/мог добавить шпионов.Тестирование метеоров с использованием шпионов

Мой первый удар в выяснить, правда ли это было, чтобы написать следующий код:

it 'calls update when both documents are present but different', -> 
    spies.create('log', console, 'log') 

, который дает мне:

ReferenceError: spies is not defined 
    at packages/velocity:test-proxy/tests/mocha/server/charger_server_doc_spec.coffee:88:9 
    at wrappedFunc (packages/mike:mocha/server.js:200:1) 
    at runWithEnvironment (packages/mike:mocha/server.js:156:1) 

Это означает для меня, что я понял, что practicalmeteor : chai обеспечивает, однако, код, который я показал в первом примере, скопирован дословно из README.

Вопрос: Есть ли советы по работе с этим продуктом? Это проблема с загрузкой? Код в Github показывает шпионы и т. Д., Реализованные в этом пакете. Поэтому я немного застрял.

Спасибо!

ответ

5

В комплект пакета practicalmeteor:chai не включен пакет practicalmeteor:sinon, который необходим для получения входящего в комплект API spies.

Это отдельные пакеты, потому что вам не придется использовать шпионов при создании базовых тестов с помощью chai.

Если вы посмотрите файл package.js в пакете practicalmeteor:chai, он не включает файлы sinon.

Итак, просто бегите meteor add practicalmeteor:sinon должны решить вашу проблему.

+0

Спасибо! Все еще борьба с синтаксисом. Я собираюсь с 'ожидать (update_spy.called) .to.equal (false)' пока, что кажется синтаксическим уксусом по сравнению с чем-то вроде 'expect (update_spy) .to.be.called()'. К сожалению, этот синтаксис, похоже, не реализован. Мне, возможно, придется посмотреть на это :) –

Смежные вопросы