例如我的代码是这样写的。
js (function () { function sayHi () {..} window.sayHi = sayHi; })();
js
(function () { function sayHi () {..} window.sayHi = sayHi; })();
那么我在测试时,必须把 sayHi 暴露出来才能测试。 那么假如我引入要测试的文件里,又有一个 sayHi ,这样不是会冲突吗?
sayHi
请问闭包内的函数应该如何正确的测试呢?
karma 单元测试 mocha jasmine
window下面放个obj,比如window.debug={}。然后需要暴露的往里面塞就是了,如果不放心的话可以考虑在函数名前面加上包名或者文件路径。具体如下: window.debug[ModuleName+'.sayHi] = sayHi; 以这个思路还能延伸出其他的玩儿法,比如debug里面每个模块再放一个obj从而简便的遍历每个模块内的方法。另外,如果担心内存泄露还可以考虑使用es6的WeakMap。
是不是几乎bdd的API接口都是一样的?
karma 安装在idea上 总是提示 adapter 找不到
最佳实践:使用NodeJS进行web开发,如何优雅地进行数据层的单元测试?
Jasmine如何测试内部方法?
angularjs requirejs karma directive templateUrl...
nodejs自动化测试的细节和实践