Это мой подход, вдохновленный этой статьей:
https://gist.github.com/traviskaufman/11131303
на основе собственной документации Жасмин:
http://jasmine.github.io/2.0/introduction.html#section-The_%3Ccode%3Ethis%3C/code%3E_keyword
Установив общие зависимости в качестве свойств прототипа функции beforeEach
, вы можете расширить beforeEach
, чтобы сделать эти зависимости доступными через this
.
Пример:
describe('A suite', function() {
// Shared setup for nested suites
beforeEach(function() {
// For the sake of simplicity this is just a string
// but it could be anything
this.sharedDependency = 'Some dependency';
});
describe('A nested suite', function() {
var dependency;
beforeEach(function() {
// This works!
dependency = this.sharedDependency;
});
it('Dependency should be defined', function() {
expect(dependency).toBeDefined();
});
});
describe('Check if string split method works', function() {
var splitToArray;
beforeEach(function() {
splitToArray = this.sharedDependency.split();
});
it('Some other test', function() { ... });
});
});
Я знаю, что мой пример бесполезен, но он должен служить своей цели в качестве примера кода.
Конечно, это лишь одна из многих вещей, которые вы можете сделать, чтобы добиться того, что вы говорите, я уверен, что более сложные шаблоны проектирования могут быть применены сверху или в стороне от этого.
Надеюсь, это поможет!