Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

before/afterAll() is not defined in jasmine-node

I'm trying to use the methods beforeAll and afterAll of jasmine, to create a suite of tests with frisby.js, because actually, frisby doesn't have a support for this methods. So, this is what I'm trying to do:

var frisby = require('frisby');
describe("setUp and tearDown", function(){
    beforeAll(function(){
        console.log("test beforeAll");
    });

    afterAll(function(){
        console.log("afterAll");
    });

//FRISBY TESTS
}); //end of describe function

If I change the methods before/afterAll to before/afterEach, is working, but when I'm using before/afterAll this error appears on console:

Message: ReferenceError: beforeAll is not defined Stacktrace: ReferenceError: beforeAll is not defined

I have the jasmine version 2.3.2 installed on my project, so, I don't know what I need to do to integrate this method.

like image 502
Pedro Henrique Avatar asked Aug 21 '15 13:08

Pedro Henrique


1 Answers

Use the jasmine library not the jasmine-node library. The second one does not support beforeAll and afterAll methods.

1- npm install -g jasmine

2- jasmine init

3- write the test in the spec folder:

  describe("A spec using beforeAll and afterAll", function() {
    var foo;

    beforeAll(function() {
     foo = 1;
    });

    afterAll(function() {
     foo = 0;
    });

    it("sets the initial value of foo before specs run", function() {
      expect(foo).toEqual(1);
      foo += 1;
    });

   it("does not reset foo between specs", function() {
     expect(foo).toEqual(2);
   });
});

4- Run the tests --> jasmine

like image 171
cesarluis Avatar answered Sep 28 '22 19:09

cesarluis