我需要知道是否有一种方法可以包含或使用beforeAll函数,或类似的东西,以便我可以登录我的应用程序,然后开始测试。
目前,我将我的登录操作放在第一个测试用例(it
)中。这不是一个好的做法。
如果有更好的方法来存储我的登录代码而不使用beforeAll函数,请告诉我。
我正在使用纯Jasmine,与任何其他框架如coffee-script或其他无关。
谢谢
我需要知道是否有一种方法可以包含或使用beforeAll函数,或类似的东西,以便我可以登录我的应用程序,然后开始测试。
目前,我将我的登录操作放在第一个测试用例(it
)中。这不是一个好的做法。
如果有更好的方法来存储我的登录代码而不使用beforeAll函数,请告诉我。
我正在使用纯Jasmine,与任何其他框架如coffee-script或其他无关。
谢谢
您可以嵌套任意数量的describe
函数。因此,您可以执行以下操作...
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
});
});
请使用以下代码,并在beforeAll语句中配置您的设置。
describe("Top", function() {
beforeAll(function() {
console.log("Example 1 Setup");
});
it('xyz',function(){
console.log('Hi!')
});
});
beforeAll
函数在运行describe
中所有规范之前仅调用一次,而不是在该描述块中的“裸体”函数将在运行所有规范文件中的所有规范之前运行一次,而不仅仅是在该描述块中运行。例如,如果我想为一个describe
块使用一个mongo数据库,而另一个describe
块使用另一个数据库,我需要使用beforeAll()
函数,否则它们都将使用同一个数据库。 - Johnny C