我正在尝试对aurelia组件的自制NPM模块进行单元测试。请注意,这不是aurelia应用程序,它只是组件和类的存储库!
为此,我尝试复制aurelia-dialog的设置,但仍然存在一些问题,这些问题实际上阻止了我以有用的方式通过单个测试...
非常感谢!
复制aurelia-dialog
设置可能无济于事,因为它不再包含任何html文件。他们在打字稿源中插入html,以使消费者更容易捆绑(也可能更易于测试。)
Karma的速度仅与与之集成的捆绑器/翻译器一样快,并且当然取决于要加载的文件数。仔细检查您是否不包含/不需要的文件:
src
和test
文件夹node_modules
和其他部门,但不要观看它们总是有一个模块加载器来处理这些来自应用程序内部文件的请求。他们生活在“虚拟”道路上。当您直接从浏览器请求文件时,即使您的应用可以访问它,您也会绕过它并请求可能不存在(或未提供)的内容。
加载类似jQuery(或Bluebird)之类的依赖项的方式与通常在应用程序中的加载方式类似。从包配置中直接引用node_modules文件夹中的路径。然后,确保它已打包到您的捆绑包中,或独立提供。在后一种情况下,只需import "jquery"
在中setup.ts
。或查看Bluebird
下面我的建议中的内容。
如果需要考虑速度,我建议尝试将业力与webpack结合使用。这通常非常快(尤其是自webpack 4起),并且极大地简化了附加资产的服务。
这个插件框架应该让您很好地了解这些各种东西如何协同工作。
然后添加HTML资产进行测试,只需添加html-loader
如下ts-loader
所示(你可以看到这里):
{
test: /\.html$/,
use: [{ loader: "html-loader" }]
},
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句