use*_*905 8 javascript unit-testing jasmine jasmine-jquery
我想在所有测试之前做一些事情,之后呢?组织代码的最佳方法是什么?例如:备份一些变量 - >清除它们 - >测试一些东西 - >恢复备份.'beforeEach'和'afterEach'太昂贵了.谢谢!
非常简单的解决方案:
describe("all o' my tests", function() {
it("setup for all tests", function() {
setItUp();
});
describe("actual test suite", function() {
});
it("tear down for all tests", function() {
cleanItUp();
});
});
Run Code Online (Sandbox Code Playgroud)
这样做的好处是,您可以将设置/拆卸放在任何地方(例如,在嵌套套件的开头/结尾).
Jasmine> = 2.1支持beforeAll/ afterAll为您的套件进行一次性设置和拆卸.
如果您使用的是Jasmine 1.x,您可以使用it它(如其他人所建议的)或加载支持beforeAll/afterAll的node_module,例如jasmine-before-all.
在所有测试开始之前调用一个函数是很简单的;但是,Jasmine(至少 1.3.1)不允许您在 Reporter API 之外指定自己完成的回调。
这是我在Google 网上论坛上发现的一个快速小窍门。将其添加到您的SpecRunner.html或同等内容中。
var oldCallback = jasmineEnv.currentRunner().finishCallback;
jasmineEnv.currentRunner().finishCallback = function () {
oldCallback.apply(this, arguments);
// Do your code here
};
jasmineEnv.execute();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4435 次 |
| 最近记录: |