2016-06-09 16 views
1

Im folgenden Code versuche ich sicherzustellen, dass eine bestimmte Seite gerendert wurde, nachdem der Benutzer auf einen Link geklickt hat. Ich bin mir nicht sicher, ob dies der richtige Weg ist, um diese Behauptung zu machen, oder ob es einen besseren Weg gibt, es zu schreiben, vielleicht mit einer anderen inneren it-Aussage. Kann dieser Test in irgendeiner Weise verbessert werden?Gibt es eine bessere Möglichkeit, Testanweisungen in Mocha zu schreiben?

describe('User visits the main page and clicks the Contact link', function() { 
    const browser = new Browser(); 
    it('should render ok', function(done) { 
    browser.visit("http://localhost:3000", 
     function() { 
     browser.clickLink("Contact", function() { 
      browser.assert.text('title', 'Contact'); 
      done(); 
     }); 
     }); 
    }); 
}); 

Antwort

2
  1. In BDD Stil describe() soll Dinge beschreiben gegen testen. Sie möchten jede Assertion pro Seite trennen, um sie zu besuchen.
  2. browser.visit sollte nicht in it Anweisung sein. Legen Sie es in den Haken beforeEach.
describe('the main page', function() { 
    const browser = new Browser(); 

    beforeEach(function(done) { 
    browser.visit("http://localhost:3000", done); 
    }); 

    it('should render ok when user clicks the Contact link', function(done) { 
    browser.clickLink("Contact", function() { 
     browser.assert.text('title', 'Contact'); 
     done(); 
    }); 
    }); 

    it('another test', function(done) { 
    // goes here 
    }); 
}); 

Sie können eine weitere verschachtelte describe() Suite in den Seitenelementen wie „Contact Link“ beschreiben obwohl it() nicht verschachtelt werden können.

Verwandte Themen