如何在使用vue cli创建的现有项目中包含测试?

问题描述 投票:4回答:2

当我根据vue init webpack my-projectthese instructions时,我会收到一个问卷,我被问到是否要包括掉毛和测试。如果我说是,那么项目就会进行测试。

然而,在我的一个vue项目中,我开始没有说是。但现在,我想包括单元测试。

传统的安装Karma和Jasmine的方法看起来太麻烦了,我不知道需要修改哪些文件才能正确连接所有依赖项。

是否有我可以运行的CLI命令,它再次询问我这些问题,以便它自动连接我的单元测试?

webpack jasmine vue.js karma-jasmine
2个回答
5
投票

这是旧的但是当我想在我的vue项目中添加测试时,遇到vue-cli和fwiw,如果你使用的是Vue Cli 3你可以运行vue add @vue/unit-jest来为现有项目添加测试。


1
投票

简短的回答

不,你不能那样做

答案很长

您应该在GitHub上查看vue模板的源代码。

vue-cli做的是使用查询器来提示你想要的东西,然后设置一些变量来定义应包含的内容。然后它使用静态站点生成器metalsmith和mustache语法的组合将您想要的代码注入到文件中,然后将所有内容吐出到指定的项目目录中。它还会筛选出您选择退出的文件,但不会将其放在根目录中。

当生成的文件放入项目目录时,js文件和其他文件中的所有内联必须条件和条件都已替换为与您指定的匹配的正确源代码,如果保留了这些条件,则语法将无效并且什么都不会失败。由于这些条件和胡须在生成项目后已被删除,因此vue-cli不会知道将这些内容放在何处,并且您可能需要删除冲突的代码,因此如果不添加条件和小胡子就不可能,然后你也可以手动复制东西。

我建议你将来选择你认为可能需要的东西,尤其是单元测试,因为你不必使用它们,但如果你有它们就没有问题,linting也很好总是包括,只需决定标准或airbnb并将其用于所有项目。事实上添加linting可能需要你重构整个代码库,如果你使用了分号并在编写了大部分应用程序后添加了标准linting。

此外,如果您确实浏览了模板代码,您可能会看到vue-cli的作用,并查看您需要添加到现有项目中的内容,如果再次生成项目并复制内容则需要做很多工作。

© www.soinside.com 2019 - 2024. All rights reserved.