Moka et ZombieJS

Je commence un projet nodejs et j’aimerais faire du BDD avec Mocha et Zombiejs. Malheureusement, je connais à peu près tous les mots à la mode de cette phrase. Je peux très bien maîsortingser les tests de Mocha et de Zombiejs, mais je n’arrive pas à intégrer les deux. Est-il possible d’utiliser Mocha pour exécuter des tests de Zombiejs, et si oui, à quoi ressemblerait-il?

Je cherche juste “bonjour le monde” pour me lancer, mais un tutoriel / exemple serait encore mieux.

Merci!

    En supposant que vous ayez déjà installé mocha , zombie et expect.js conformément aux instructions, cela devrait fonctionner pour vous:

     // 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(); }); }); }); 

    Ensuite, vous devriez pouvoir exécuter la commande mocha partir du dossier de votre application racine:

     # mocha -R spec Loads pages ✓ Google.com (873ms) ✔ 1 tests complete (876ms) 

    Remarque: si vos tests échouent continuellement à cause des délais, il est utile d’augmenter un peu le délai d’ mocha de mocha en utilisant l’argument -t . Consultez la documentation de Mocha pour plus de détails.

    J’ai écrit une longue réponse à cette question en expliquant les principaux pièges liés aux tests asynchrones, aux bonnes pratiques (‘before ()’, ‘after ()’, TDD, …), illustrés par un exemple réel.

    http://redotheweb.com/2013/01/15/functional-testing-for-nodejs-using-mocha-and-zombie-js.html

    si vous voulez utiliser concombre-js pour vos tests d’acceptation et mocha pour vos tests “unitaires” d’une page, vous pouvez utiliser cuked-zombie (désolé pour la publicité).

    Installez-le comme décrit dans le fichier readme sur github, mais placez votre config de monde dans un fichier nommé 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 }; 

    Ensuite, utilisez mocha avec zombie dans vos tests unitaires comme ceci:

     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; }); 

    Si vous utilisez Microsoft Visual Studio, vous pouvez jeter un oeil à Zombify de Rob Ashton. Tout est intégré de manière acceptable pour que vous puissiez commencer à écrire vos scénarios de test en JavaScript ou CoffeeScript. Au fait, apprendre CoffeeScript vous prendra environ une heure et vaut chaque minute.