我无法找到任何正确的配置,可以在使用tap
进行编译时在浏览器中运行tape
(或webpack + babel
)测试。
这是一个简单的例子:
import test from 'tap';
test('random test', function(t){
t.ok(true, 'great!');
});
尝试编译以上错误,因为nodejs模块没有被填充:
ERROR in ./~/tap/lib/test.js
Module not found: Error: Cannot resolve module 'child_process' in /Users/arnaud/projects/chrome-tap/node_modules/tap/lib
@ ./~/tap/lib/test.js 30:12-36
ERROR in ./~/tap/lib/test.js
Module not found: Error: Cannot resolve module 'module' in /Users/arnaud/projects/chrome-tap/node_modules/tap/lib
@ ./~/tap/lib/test.js 33:13-30
ERROR in ./~/tap/lib/test.js
Module not found: Error: Cannot resolve module 'fs' in /Users/arnaud/projects/chrome-tap/node_modules/tap/lib
@ ./~/tap/lib/test.js 34:9-22
或tape
:
ERROR in ./~/tape/lib/default_stream.js
Module not found: Error: Cannot resolve module 'fs' in /Users/arnaud/projects/chrome-tap/node_modules/tape/lib
@ ./~/tape/lib/default_stream.js 2:9-22
我可以使用tape
编译并运行browserify + babel
测试,但我有兴趣使用webpack
。
或者,是否有任何纯ES6(即非nodejs)TAP库?
答案 0 :(得分:4)
我使用业力通过webpack运行磁带测试。 This blog post帮助我设置它真的很有帮助 - 有tap,webpack和伊斯坦布尔的业力插件(如果你想覆盖)。基本上你告诉karma你正在使用webpack,将你的webpack配置添加到你的karma配置,并使webpack入口点成为一个需要你所有规范模块的模块。
我必须添加
node: {
fs: "empty"
}
到我的测试webpack配置,以防止在此过程中的某处引用错误。