Jasmine is flexible in nesting the describe
blocks with specs at any level. This means that, before executing a spec, Jasmine walks down executing each beforeEach
function in order, then executes the spec, and lastly walks up executing each afterEach
function.
The following code snippet is an example of the Jasmine's nested describe
blocks:
describe("MyTest", function() { beforeEach(function() { alert("beforeEach level1"); }); describe("MyTest level2", function() { beforeEach(function() { alert("beforeEach level2"); }); describe("MyTest level3", function() { beforeEach(function() { alert("beforeEach level3"); }); it("is a simple spec in level3", function() { alert("A simple spec in level3"); expect(true).toBe(true); }); afterEach(function() { alert("afterEach level3"); }); }); afterEach(function() { alert("afterEach level2"); }...