min*_*rse 13 javascript jasmine
我正在尝试在我正在编写的茉莉花测试套件的每个嵌套描述之前和之后调用一些逻辑.
我现在有类似的东西:
describe('Outer describe', function () {
beforeEach(function () {
login();
someOtherFunc();
});
afterEach(function () {
logout();
});
describe('inner describe', function () {
it('spec A', function () {
expect(true).toBe(true);
});
it('spec B', function () {
expect(true).toBe(true);
});
});
});
Run Code Online (Sandbox Code Playgroud)
我在我的内心描述中找到了我的函数beforeEach并被afterEach调用it.我只希望在外部描述中对每个内部描述调用一次.
这可能吗?
为了实现这一点我限定了共同的功能,然后参考它在beforeAll/afterAll每个嵌套的describe。
describe('Wrapper', function() {
var _startup = function(done) {
login();
window.setTimeout(done, 150);
};
var _shutdown = function() {
logout();
};
describe('Inner 1', function() {
beforeAll(_startup);
afterAll(_shutdown);
});
describe('Inner 2', function() {
beforeAll(_startup);
afterAll(_shutdown);
});
describe('Inner 3', function() {
beforeAll(_startup);
afterAll(_shutdown);
});
});
Run Code Online (Sandbox Code Playgroud)
这似乎是最干净的解决方案。
我认为您应该在描述中使用“ beforeAll”和“ afterAll”作为规范。以下摘自茉莉花网站:http : //jasmine.github.io/2.1/introduction.html
在运行describe中的所有规范之前,仅调用一次beforeAll函数,而在所有规范完成之后,则调用afterAll函数。这些功能可用于通过昂贵的设置和拆卸来加快测试套件的速度。
但是,请小心使用beforeAll和afterAll!由于未在规格之间重置它们,因此很容易意外泄漏规格之间的状态,从而使它们错误地通过或失败。
| 归档时间: |
|
| 查看次数: |
9433 次 |
| 最近记录: |