Я маю досвід роботи з Жасмином і мені це подобається зовсім небагато. Хтось має досвід роботи як з жасмином, так і з моккою, особливо для Rails? Мені цікаво, чи варто переходити на.
Відповіді:
Я провів тестування як на Жасмин, так і на Мокку. По-перше, переключення порівняно просто. Основний шаблон describe
і it
шаблон BDD ідентичний. Вам потрібно буде змінити спосіб твердження та перейти на інший інтерфейс для асинхронних тестів. Загалом вони порівнянні.
Асинхронний інтерфейс Mocha набагато простіший і послідовніший. Тести та налаштування можуть бути як синхронними, так і асинхронними, що чудово. Це, плюс той факт, що TJ Holowaychuck - епічний поет-код, є вагомими причинами спробувати Mocha.
Я думаю, що збіги з жасмином легше читати та вишуканіші, особливо у поєднанні з плагіном jasmine-jquery. Mocha зазвичай поєднується з окремою бібліотекою для тверджень, часто chai.js, якщо ви проводите тестування в браузері, або should.js для тестування лише на вузлах. Я задоволений assert.equal()
інтерфейсом chai , але стиль жасмину expect($("#central_errors").html()).toContain("must provide a name");
здається мені більш елегантним. Я не прихильник expect(42).to.be.above(41)
інтерфейсу стилю chai.js із реченнями, розділеними крапками, оскільки він погано працює на слух.
Зрештою, це питання особистих уподобань, і я настійно закликаю вас просто витратити день або близько того, пишучи тести Мокки замість Жасмин, і подивитися, як це відчувається. Цілком вигідна інвестиція, навіть якщо ви вирішите дотримуватися Жасмин, ви будете робити це з власних знань та мати обізнаність щодо інших способів вирішення деяких проблем, які вирішує Жасмин. Я спробував, і я дотримуюся Мокки, частково тому, що ставки на TJ - це хороша ставка, але Жасмін - це ще й зріла, солідна та широко прийнята бібліотека.
Перегляньте проект Teabag на github. Це спеціально дозволяє використовувати трубопровід активів разом із Mocha, Jasmine або QUnit.
https://github.com/modeset/teaspoon
Mocha - це чудова бібліотека, але я, як правило, використовую Жасмин - для мене це, перш за все, знання та досвід роботи з Жасмином, але Mocha має кілька справді чудових можливостей - наприклад, повідомляти Вас, коли Ви викидаєте речі в глобальний масштаб.
Зрозумів, що варто згадати про проект, оскільки він спеціально дозволяє пограти з обома (у різних люксах), щоб ви могли вирішити самі.