当前位置: 首页 > 工具软件 > maka.js > 使用案例 >

JS测试工具karma及应用

松国兴
2023-12-01

karma测试工具
karma:测试结果即时显示,low level (unit) testing。

karma配置文件(../karma.conf.js/(coffee/ts))
参考地址:http://karma-runner.github.io/2.0/config/configuration-file.html
autoWatch(default: true):在执行测试时监测文件变化;
autoWatchBatchDelay(default: 250):批处理文件变化延时时间,以重新设置测试进程;
basePath:files和exclude路径的根路径;
browserDisconnectTimeout:浏览器重连时间(ms);
browserNoActivityTimeout(default: 10000):浏览器断开连接之前,karma等待消息反馈时间;
browsers:启动和捕获的浏览器列表;
colors(default: true):是否允许输出信息(记录、日志)为彩色;
concurrency(default: Infinity):karma启动时可并发运行的浏览器数量;
customContextFile:自定义环境配置,默认为karma内置的context.html;
customClientContextFile:自定义客户端环境配置,默认为karma内置的client_with_context.html;
customDebugFile:自定义调试环境配置,默认为karma内置的debug.html;
exclude:加载文件或模式清单中剔除的文件;
files:浏览器中加载的文件和模式清单;
frameworks:使用的测试框架列表;
listenAddress:服务器监听地址,‘localhost’只监听回放,‘::’监听所有IPv6接口;
logLevel(default: config.LOG_INFO):日志级别,包括config.LOG_DISABLE、config.LOG_ERROR、config.LOG_WARN、config.LOG_INFO、config.LOG_DEBUG;
hostname:捕获浏览器时使用的主机名;
port(default: 9876):服务器监听端口,如果端口号被占用,karma会自增其值直到端口号可用;
preprocessors:预处理器映射;
reporters(default: [‘progress’]):记录清单;
singleRun(default: false):持续集成模式;

karma相关插件配置(pachage.json)
插件查询网址:
grunt plugins: https://gruntjs.com/plugins
npm package: https://www.npmjs.com/package/package
github: https://github.com/
例如:
karma-htmlfile-reporter:karma插件,以html样式文件形式输出单元测试结果。

karma支持的测试框架
jasmine:行为驱动开发框架、无需DOM元素和额外依赖配置。
mocha
qunit
nodeunit
nunit

karma相关的命令行
npm install karma -g: 全局安装依赖
npm install karma –save-dev: 安装依赖
karma init: 创建文件karma.conf.js
npm install karma-qunit –save-dev: 安装测试框架驱动(例如:karma-mocha, karma-requirejs等)
npm install karma-chrome-lancher: 安装浏览器启动器(例如:karma-ie-lancher, karma-chrome-lancher等)
karma start path/to/tests/karma.conf.js: 启动karma测试

karma样例文件及功能
karma.conf.js 配置karma
test-main.js 为测试配置require.js

karma与Grunt/Gulp集合应用
grunt-karma
gulp-karma

其他测试工具
Protractor:high-level testing。

其他测试框架
Nightwatch.js:基于Node.js的端到端的测试框架。

前端构建工具
grunt:基于 Node.js 的web前端构建工具。
gulp:基于Node.js的自动化构建工具Gulp运行效率比Grunt高,相比之下更有设计感。

备注
api-spec-converter:API描述格式转化工具。

 类似资料: