Mocha案例——测试豆瓣API接口

  • 用mocha测试异步请求
  • 引入chai断言库,使用expect断言测试

测试:https://api.douban.com/v2/movie/top250中是否包含“subjects”

1.在文件夹lib下新建demo文件,用以获取豆瓣Api接口信息

var https = require('https')

class Demo{
	//获取接口信息
	fetchData(api,callback){
		var requestUrl='https://api.douban.com/v2/movie/'+api+'?apikey=0b2bdeda43b5688921839c8ecb20399b'
		
		https.get(requestUrl,function(res){
			var responseData = ''
			res.setEncoding('utf8')
			
			res.on('data',function(chunk){
				responseData += chunk
			})
			
			res.on('end',function(){
				callback(JSON.parse(responseData))
			})
		})
	}
}

module.exports = Demo

在参数api后面一定要加 '?apikey=0b2bdeda43b5688921839c8ecb20399b',要不然会出现这种错误

Mocha案例——测试豆瓣API接口_第1张图片

2.在文件夹test下新建demo文件用以测试

const chai=require('chai')
const expect=chai.expect

var Demo = require('../lib/demo.js')//引入
var demo=new Demo()

describe('Demo',() => {
	it('加载豆瓣 API 返回的数据应该包含 subjects 属性',function(done){
		demo.fetchData('top250',function(data){
			expect(data).to.have.property('subjects')
			done()
		})
	})
})

3.测试结果

Mocha案例——测试豆瓣API接口_第2张图片

你可能感兴趣的:(node_study)