我正在编写一个 Jasmine 报告器,我希望能够将参数从单个规范传递给报告器。例如:
规范:
// 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 的流程以查看哪些对象传递给每个方法,但到目前为止我还没有找到一个简单的解决方案。
如何做到这一点?
最佳答案
我找到了一个可能的解决方案 - 在 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;
...
}
当然,您可以(并且应该)使其更加通用以适应其他情况。
关于javascript - 如何在 Jasmine 中将参数从规范传递给记者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28791797/