nodejs渐入佳境[33]-mocha测试与自动测试

mocha

1
2
> npm init
> npm install --save-dev mocha  //开发者模式下有效,不会部署到服务器上

package.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
 "name": "testapplication",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
   "test": "mocha **/*.test.js"
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
   "mocha": "^5.2.0"
 }
}

测试文件

1
2
3
4
5
6
7
8
9
10

let add = (a,b)=>a+b;


it("test add",()=>{
   var res =  add(11,22);
   if(res!=33){
     throw new Error(`Expected 33 ,but got ${res}`)
   }
});

测试

1
> npm test

返回:

1
2
3
4
5
6
7
> mocha **/*.test.js



 ✓ test add

 1 passing (4ms)

修改并测试

1
2
3
4
5
6
7
8
9
10

let add = (a,b)=>a+b;


it("test add",()=>{
   var res =  add(11,55);
   if(res!=33){
     throw new Error(`Expected 33 ,but got ${res}`)
   }
});

返回:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
> [email protected] test /Users/jackson/Desktop/testApplication
> mocha **/*.test.js

 1) test add

 0 passing (4ms)
 1 failing

 1) test add:
    Error: Expected 33 ,but got 66
     at Context.it (add.test.js:8:15)



npm ERR! Test failed.  See above for more details.

自动测试

1
2
> npm install --save-dev nodemon
> nodemon --exec "npm test"

添加到脚本中

package.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
 "name": "testapplication",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
   "test": "mocha **/*.test.js",
   "test-watch": "nodemon --exec \"npm test\""
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
   "mocha": "^5.2.0"
 }
}

执行:

1
>npm run test-watch

image.png

猜你喜欢

转载自blog.51cto.com/13784902/2325644