我正在使用phantomjs-node,不幸的是,它不能很好地处理lab的测试覆盖率的东西。当我运行时lab -t 100
,它试图注入__$$labCov
传递给的函数page.evalute()
。但是,该函数不会在它出现的代码的上下文中执行。它在虚拟浏览器的上下文中执行。
因此,在我正在测试的代码中,如果我的 PhantomJS 代码中有这个:
page.evaluate(
function () { return 'foo'; },
function (result) {
// Do something with result here
ph.exit();
}
);
在第二个函数中,result
应该是字符串“foo”。这就是我运行代码时发生的情况。但如果我通过 运行它lab -t 100
,null
我会得到“幻像标准输出:ReferenceError:找不到变量:__$$labCov”。
有没有办法告诉实验室,“嘿,我知道这一行看起来像你想确保运行的代码,但真的,不要担心这里的这个小功能,它不适合你。”?
或者,有没有一种方法可以访问__$$labCov
,以便我可以将其提供给沙盒功能?幻影让你这样做:
page.evaluate(
function (__$$labCOv) { return 'foo'; },
function (result) {
// Do something with result here
ph.exit();
},
__$$labCov
);
但这不起作用,因为我无法访问__$$labCov
...