Подтвердить что ты не робот

Мокка и зомби

Я начинаю проект nodejs и хотел бы сделать BDD с Mocha и Zombiejs. К сожалению, я новичок в каждом слове в этом предложении. Я могу заставить Mocha и Zombiejs работать отлично, но я не могу интегрировать их в два - возможно ли использовать Mocha для запуска тестов Zombiejs, и если да, то как это будет выглядеть?

Просто ища "привет мир", чтобы начать меня, но учебник/пример будет еще лучше.

Спасибо!

4b9b3361

Ответ 1

Предполагая, что вы уже установили mocha, zombie и expect.js в соответствии с инструкциями, это должно сработать для вас:

// Put below in a file in your *test* folder, ie: test/sampletest.js:

var expect = require('expect.js'),
Browser = require('zombie'),
browser = new Browser();

describe('Loads pages', function(){

    it('Google.com', function(done){

        browser.visit("http://www.google.com", function () {
            expect(browser.text("title")).to.equal('Google');
            done();
        });
    });

});

Затем вы можете запустить команду mocha из корневой папки приложения:

# mocha -R spec

  Loads pages
    ✓ Google.com (873ms)


  ✔ 1 tests complete (876ms)

Примечание. Если ваши тесты не работают из-за тайм-аутов, это помогает немного увеличить время ожидания mocha, используя аргумент -t. Для получения подробной информации ознакомьтесь с документацией mocha.

Ответ 3

если вы хотите использовать cucumber-js для ваших приемочных тестов и мокко для ваших "единичных" тестов для страницы, вы можете использовать cuked-zombie (извините за рекламу).

Установите его, как описано в readme на github, но поместите свою конфигурацию мира в файл world-config.js

`/* globals __dirname */
var os = require('os');
var path = require('path');

module.exports = {
  cli: null,
  domain: 'addorange-macbook': 'my-testing-domain.com',
  debug: false
};

Затем используйте мокко с зомби в своих модульных тестах следующим образом:

var chai = require('chai'), expect = chai.expect;
var cukedZombie = require('cuked-zombie');

describe('Apopintments', function() {

  describe('ArrangeFormModel', function() {
    before(function(done) { // execute once
      var that = this;

      cukedZombie.infectWorld(this, require('../world-config'));

      this.world = new this.World(done);

      // this inherits the whole world api to your test
      _.merge(this, this.world);
    });

    describe("display", function() {

      before(function(done) { // executed once before all tests are run in the discribe display block
        var test = this;
        this.browser.authenticate().basic('maxmustermann', 'Ux394Ki');

        this.visitPage('/someurl', function() {
          test.helper = function() {

          };

          done();
        });
      });

      it("something on the /someurl page is returned", function() {
        expect(this.browser.html()).not.to.be.empty;
      });

Ответ 4

Если вы используете Microsoft Visual Studio, вы можете взглянуть на Роба Эштона Zombify. Все приемлемо интегрировано, поэтому вы можете начать писать свои тестовые примеры в JavaScript или CoffeeScript. Кстати, обучение CoffeeScript займет у вас как час, и это стоит каждую минуту.