karma与jasmine学习记录
关于karma与jasmine自动化单元测试的文章已经很多,比如http://blog.fens.me/nodejs-karma-jasmine/
http://blog.fens.me/nodejs-jasmine-bdd/.本文也主要学习了这两篇文章. 这里主要记录自己学习使用自动化测试的一些东西.
Jasmine
Jasmine是BDD模式,即行为驱动开发,这里相对于TDD,即测试驱动开发.
Jasmine使用bower安装失败(可能因为网络原因),便从jasmine在github上项目地址下载的的项目文件. 在READ.md中installation部分有关于引用jasmine的说明.把下载的类库解压,并新建项目文件,把解压的文件中的jasmine-standalone-2.0.0.zip
拿到项目根目录并解压.引用如下:
<\link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-2.0.0/jasmine_favicon.png"> <\link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-2.0.0/jasmin.css"> <\link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-2.0.0/jasmine.js"> <\link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-2.0.0/jasmine_html.js"> <\link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-2.0.0/jasmine_boot.js">
网上一些教程会格外写个启动文件,2.0以后则不需要单独写启动文件,只需要引入jasmine_boot.js即可.
一个简单的例子是:
describe('A suite of explame',function(){) it('test',function(){) expect(true).toEqual(true) }); })describe可以嵌套
测试结果在页面直接显示.
karma
karma可以完成自动化测试.karma-coverage可以进行覆盖率的测试.
karma的安装直接使用npm intsall -g karma
.但是win7的系统下使用npm安装完成后,并不能使用karma,并报错"'karma'不是内部或外部命令,也不是可运行的程序或批处理文件".参考http://camnpr.com/software-wiki/1611.html
的办法,在cmd安装命令版中查看npm包安装地址(我的地址是:C:\Users\Administrator\AppData\Roaming\npm
),打开这个文件夹新建karma.cmd
,把以下内容复制到karma.cmd
中重新使用npm包安装即可.
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" "%~dp0\nodemodules\karma\bin\karma" %* ) ELSE ( node "%~dp0\nodemodules\karma\bin\karma" %* )
安装好,使用karma init
命令进行配置文件初始化进行参数配置后,重新启用karma start
即可.
实验项目文件夹已上传到github.地址是:https://github.com/7demo/karmaAndJasmine.git