Ответ 1
Я тестировал как жасмин, так и мокко. Во-первых, переключение относительно просто. Базовый шаблон describe
и it
BDD идентичен. Вам нужно будет изменить, как вы делаете свои утверждения, и переключиться на другой интерфейс для асинхронных тестов. В целом они сопоставимы.
Асинхронный интерфейс Mocha намного проще и более согласован. Тесты и настройки могут быть либо синхронными, либо асинхронными, что отлично. Это, плюс тот факт, что TJ Holowaychuck является поэтом эпоса, является веским поводом попробовать Mocha.
Я действительно думаю, что Jasmine matchers легче читать и более элегантно, особенно в сочетании с плагином jasmine-jquery. Mocha обычно сопрягается с отдельной библиотекой для утверждений, часто chai.js, если вы выполняете в браузере тестирование или should.js для node - только тестирование. Я доволен интерфейсом chai assert.equal()
, но стиль Jasmine expect($("#central_errors").html()).toContain("must provide a name");
кажется мне более изящным. Я не являюсь поклонником интерфейса стиля chai.js expect(42).to.be.above(41)
с предложениями с разделителями-точками, потому что он не работает хорошо.
В конечном счете, это вопрос личных предпочтений, и я настоятельно рекомендую вам просто провести день или около того, написав тесты Mocha вместо Jasmine и посмотреть, как он себя чувствует. Полностью выгодные инвестиции, даже если вы решите придерживаться Жасмина, вы будете делать это с места из первых рук и узнаете о других способах решения некоторых проблем, которые решает Жасмин. Я попробовал это, и я придерживаюсь Mocha отчасти потому, что ставка на TJ - хорошая ставка, но Жасмин также является зрелой, солидной и широко принятой библиотекой.