Reputation: 523
I need to know if there is a way to include or use a beforeAll function, or something similar, so I can login to my application and then start testing.
Right now I'm putting my login operations in the first test case ( it
). Which is not a good practice.
If there is a better way to store my login code other then using a beforeAll function please tell me about it.
I'm using pure Jasmine not related to any other framework like coffee-script or others.
Thank you
Upvotes: 28
Views: 36638
Reputation: 3475
please use below code and configure your setting in beforeAll statement.
describe("Top", function() {
beforeAll(function() {
console.log("Example 1 Setup");
});
it('xyz',function(){
console.log('Hi!')
});
});
Upvotes: 2
Reputation: 6641
This is now much easier. As of Jasmine 2.1 (released 14 Nov 2014), there is a beforeAll
function built into the framework.
Here are the release notes with everything that was added in 2.1. And here is the documentation explaining beforeAll
and afterAll
Upvotes: 36
Reputation: 564
You can add this package that adds a beforeAll() and afterAll() to Jasmine.
https://github.com/nonplus/jasmine-beforeAll
Upvotes: 1
Reputation: 1936
You can nest as many describe
functions as you want. So you can do something like...
describe("General Test", function () {
function login(){
//This code will run once at he beginning of your script
};
login();
beforeEach(function () {
//anything in here will apply to everything in each nested describe
});
describe("Specific Test", function () {
//Applied here
});
describe("Another Specific Test", function () {
//And here
});
});
Upvotes: 4