我很确定我在某个地方读过这篇文章,但是现在找不到文档。如果我在同一beforeEach
块中有两个describe
块,是否保证可以顺序运行? IE浏览器:
describe("foo", function(){
beforeEach(function(){
print("I'm always first!");
}
beforeEach(function(){
print("I'm always second!");
}
}
最佳答案
来自http://jasmine.github.io/2.0/introduction.html
可以嵌套描述调用,在任何级别定义规范。这允许将套件组合为功能树。在执行规范之前,Jasmine会按顺序执行每个beforeEach函数的树。执行该规范后,Jasmine将类似地执行afterEach函数。
这是我当前应用程序的示例代码。nodeApp
是主模块
describe("\n\nuser registration form testing", function() {
beforeEach(module("views/createuser/createuser.html"), function() {
});
describe("\n\nUser createtion form should have valid data", function() {
beforeEach(module("nodeApp"));
beforeEach(inject(function($rootScope, $compile, $controller, $templateCache) {
}))
});
});
如果我将
beforeEach(module("nodeApp"));
放在second beforeEach
之后它抛出一个错误。因为
nodeApp
是负责注入所有服务的模块。因此,以后可以在第二个
beforeEach
中进行注射关于javascript - 同一范围内的beforeEach块是否按顺序运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36139066/