自定义启动
如果你想自定义你的 jasmine 环境,你可以自定义你的 boot.js 文件。
|
(function() {
window.jasmine = jasmineRequire.core(jasmineRequire);
jasmineRequire.html(jasmine);
var env = jasmine.getEnv();
|
自定义界面加载了核心 jasmine 界面后,你可以添加新函数或重写现有函数。 |
var jasmineInterface = jasmineRequire.interface(jasmine, env);
|
在此,我们添加了一些别名,这样 |
jasmineInterface.before = jasmineInterface.beforeEach;
|
|
jasmineInterface.after = jasmineInterface.afterEach;
|
并且 |
jasmineInterface.context = jasmineInterface.describe;
if (typeof window == "undefined" && typeof exports == "object") {
extend(exports, jasmineInterface);
} else {
extend(window, jasmineInterface);
}
|
添加自定义报告器你还可以添加你自己的报告器,作为 |
env.addReporter(jasmineInterface.jsApiReporter);
|
你还可以通过修改 或者,在解析测试后通过将测试套件或规范 ID 数组传递给 execute 函数也可以指定要运行的规范。可以通过 env.topSuite() 访问解析测试树来收集这些 ID。 |
var specFilter = new jasmine.HtmlSpecFilter({
filterString: function() { return queryString.getParam("spec"); }
});
env.specFilter = function(spec) {
return specFilter.matches(spec.getFullName());
};
window.setTimeout = window.setTimeout;
window.setInterval = window.setInterval;
window.clearTimeout = window.clearTimeout;
window.clearInterval = window.clearInterval;
|
默认情况下,Jasmine 将在浏览器中触发 |
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
env.execute(env.topSuite().id);
};
|
辅助函数,将 Jasmine 公共接口添加到正确的对象。 |
function extend(destination, source) {
for (var property in source) destination[property] = source[property];
return destination;
}
}());
|