AngularJS——karma的安装
1,前言:
刚刚学过了 grunt的安装以及使用,grunt的作用就是让我们平常不想做的任务能够自动化完成,并且可以自己 自定义任务,那么karma是什么呢?
Karma是Testcular的新名字,在2012年google开源了 Testcular,2013年改名 Karma。karma是一个让人感到非常神秘的名字,表示佛教中的缘分,因果报应。
Karma的作用是 基于 Node.js的javascript测试执行过程管理工具。
2,Karma的安装
因为我是win8的系统,所以你们懂得,而且我默认你们安装了Node.js
1,安装karma-cli,
打开我们 CMD面板,随便的一个位置输入 npm install -g karma-cli
这样我们会把 karma 安装在我们系统的全局目录中去(C:\Users\jennyNJ\AppData\Roaming\npm\node_modules\karma-cli),注意安装了 karma-cli并不是安装了karma,现在网上有教程说是直接使用命令 npm install -g karma 就可以了,但是我试过很多遍都不可以,或许是系统的原因吧,但是如果先安装 karma-cli,再安装 karma就可以了,
2,安装 karma
可主动建立一个文件,用 CMD找到新建文件的目录,输入 npm install karma可从网络下载 karma
3,运行 karma
输入 karma start
可以在 http://localhost:9876浏览,
4,配置 karma
输入 karma init,会出现一系列的对话框,(提示下,我使用的是PowerCmd的一款命令工具,但是他的权限不够,所以我在 init 的时候,只能出现一个对话框,输入 enter 发现不能执行,只有在系统自带的命令框才可以,而且必须是已管理员身份运行的)
Which testing framework do you want to use ? Press tab to list possible options. Enter to move to the next question. > jasmine Do you want to use Require.js ? This will add Require.js plugin. Press tab to list possible options. Enter to move to the next question. > no Do you want to capture a browser automatically ? Press tab to list possible options. Enter empty string to move to the next question. > Chrome > What is the location of your source and test files ? You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js". Enter empty string to move to the next question. > Should any of the files included by the previous patterns be excluded ? You can use glob patterns, eg. "**/*.swp". Enter empty string to move to the next question. > Do you want Karma to watch all the files and run the tests on change ? Press tab to list possible options. > yes Config file generated at "D:\workspace\javascript\karma\karma.conf.js".
5,安装 jasmine
运行 npm install karma-jasmine
6,运行 karma
运行karma最重要的是配置karma.conf.js,具体的配置请查询 karma官网文档,在此就做简单的介绍
//包装函数 module.exports = function(config) { //初始化配置 config.set({ .... }) }
里面和我们上次介绍的 grunt的配置结构差不多,都有包装函数和初始化配置参数
1,载入的框架有 jasmine 和 require.js
frameworks: ['jasmine'],
2,要检测的文件,我现在设置的是所有文件
1 2 3 | files: [ '*.js' ], |
3,要过滤的文件
1 2 3 4 | xclude: [ 'karma.conf.js' , 'test-main.js' ], |
4,启动服务的端口
1 | port: 9876, |
5,启动的浏览器(会自动启动哦)
1 | browsers: [ 'Chrome' ], |
6,设置响应超时
1 | captureTimeout: 10000, |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?