当使用Ember-cli-blanket进行覆盖时,数据包括来自Ember本身的文件,而不仅仅是我创建的文件

时间:2016-02-03 21:20:42

标签: ember-cli blanket.js

我在我的项目中添加了ember-cli-blanket并设法使其正常工作。 localhost:4200 / tests?coverage将显示覆盖数据。但是它在结果中包含了诸如'project / components / modal-dialog'或'project / components / modal-dialog-overlay'之类的文件,这些文件不是项目中的文件,但是由于项目使用模态而被Ember包含其中一个模板文件中的对话框。这些额外的测试文件没有给我任何新的东西,因为我没有测试ember代码库,实际上是通过将我的测试与其他测试混合来混淆结果。该项目仍然很小,有大约11个实际文件需要测试,我必须将大约12个文件添加到blanket-options.js中的loaderExclusions。有些人可能会被排除在外,例如:

loaderExclusions: ['project/initializers'],

但是对于项目/组件下的那些,我确实想测试属于项目的组件,所以我不得不单独排除每个组件。并且不能保证排除所有初始化程序文件不会回来咬我,如果我真的最终得到我想测试的任何文件。考虑到项目到目前为止有多小,以及存在比实际文件更多排除的事实,这似乎不是一个可持续的解决方案。

我在设置中做错了什么?这是我可以用我的过滤器解决的问题,目前默认情况下是:

filter: '/.*project/.*/',

任何帮助都将不胜感激。

作为旁注,我一直在研究testem与伊斯坦布尔以及Karma作为Ember中覆盖数据的其他选项,但一直无法随身携带。如果您对那些也很好的设置有建议。

2 个答案:

答案 0 :(得分:1)

您的设置似乎没有任何问题。您所看到的显然是blanket.js的工作方式。有关详细信息,请参阅此问题:https://github.com/sglanzer/ember-cli-blanket/issues/17

答案 1 :(得分:1)

我正在使用ember-cli-blanket,然后找到ember-cli-code-coverage。在撰写本文时,sandersky分叉9f1dd33f对我来说非常适合解决您所描述的问题类型。

https://github.com/kategengler/ember-cli-code-coverage/pull/11

它解决了它不使用毯子,而是使用伊斯坦布尔。