我正在写一个茉莉花记者,我希望能够将各个规格的参数传递给记者。例如:
规范:
// I prefer this way
it("my spec 1", function() { ... }, { myParam: true });
// But this way would also be fine if it can work
it("my spec 2", function() {
this.myParam = true;
...
});
记者:
this.specDone = function(specResult) {
var myParam = // some way to access myParam
...
}
我没有找到任何类似这样的文件,也没有找到其他记者类似的例子。
我也尝试调试jasmine的流程,看看哪些对象传递给每个方法,但到目前为止,我没有找到一个简单的解决方案。
如何做到这一点?
答案 0 :(得分:2)
我找到了一个可能的解决方案 - 在boot.js
var jasmineInterface = {
it: function(desc, func, properties) {
var spec = env.it(desc, func);
spec.result.myParam = (properties || {}).myParam;
return spec;
},
...
然后在记者中:
this.specDone = function(specResult) {
var myParam = specResult.myParam;
...
}
当然,您可以(并且应该)使其更通用以适应其他情况。