使用aurelia-materialize-bridge与业力测试

时间:2016-10-20 00:23:50

标签: aurelia

我在Aurelia应用程序中使用aurelia-materialize-bridge。它是一个UI工具包。我根据指南中的Aurelia-Cli installation instructions进行了配置,取得了一些成功。页面加载正确,大多数组件似乎都有效。

当我运行单元测试au test时,我得到了一大堆404错误。

19 10 2016 19:51:18.049:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
19 10 2016 19:51:18.065:INFO [launcher]: Starting browser Chrome
19 10 2016 19:51:19.284:INFO [Chrome 53.0.2785 (Windows 10 0.0.0)]: Connected on socket /#ONnYj7PlSdj5wYRyAAAA with id 80681297
19 10 2016 19:51:19.510:WARN [web-server]: 404: /base/src/jquery.hammer.js
19 10 2016 19:51:19.511:WARN [web-server]: 404: /base/src/jquery.timeago.js
19 10 2016 19:51:19.512:WARN [web-server]: 404: /base/src/picker.js
19 10 2016 19:51:19.513:WARN [web-server]: 404: /base/src/picker.date.js
19 10 2016 19:51:19.513:WARN [web-server]: 404: /base/src/velocity.js
Chrome 53.0.2785 (Windows 10 0.0.0) ERROR
Uncaught Error: Script error for "jquery.hammer"
http://requirejs.org/docs/errors.html#scripterror
at F:/Oct2016/I Know Sports Too/scripts/vendor-bundle.js:3763

如何通过这些404错误并运行测试?丢失的脚本都可以在根目录中的materialize-css.js文件中找到。

2 个答案:

答案 0 :(得分:2)

karma.config.js中,我在entryBundle之后在materialize-bundle中添加了两行拼接。

let otherBundle = path.join(output, 'materialize-bundle.js');
let entryBundle = appSrc.splice(entryIndex, 1)[0];

let files = [entryBundle, otherBundle].concat(testSrc).concat(appSrc);

它可以工作。如果您有更好的方法,请发布您的答案。

答案 1 :(得分:0)

添加materialize-bundle(似乎已经被#12上的project.build.bundles拉入)似乎会引发一个新问题:

Chrome 54.0.2840 (Windows 10 0.0.0) ERROR
  Uncaught Error: Mismatched anonymous define() module: function (){return t(e)}
  http://requirejs.org/docs/errors.html#mismatch
  at c:/Users/shart/Projects/federal-identity/newton/scripts/vendor-bundle.js:10423

希望那里的其他人经历过这一点。如果有人找到解决方案,请发帖。