问题描述
您好,我正在为API创建测试用例以注册类似于Trello的任务,但是在执行第二个测试用例时出现了一个错误,该错误的目的是创建过滤器并验证其返回结果。
在我的项目中,我使用的是Chai.js,Chai-Http e Mocha.js
// Importando dependências do chai e chaiHttp
import chai from 'chai';
import chaiHttp from 'chai-http';
// importando mongoose para conexão com o banco
import tasksModel from '../models/task';
// Configuração para fazer uso do modulo chaiHttp
chai.use(chaiHttp);
// Importando a aplicação (app.js)
const app = require('../app');
const request = chai.request.agent(app);
// Metodo de verificação
const expect = chai.expect;
describe('get',() => {
// Criando um contexto usando um mocha
context('quando eu tenho tarefas cadastradas',() => {
before((done) => {
let tasks = [
{ title: 'Estudar JavaScript',owner: '[email protected]',done: false },{ title: 'Estudar APIRest',{ title: 'Teste tarefa',]
// Função insertMany vai inserir um array de tarefas
tasksModel.insertMany(tasks);
done();
})
it('deve retornar uma lista.',(done) => {
request
.get('/task')
.end((err,res) => {
// Validando se status retornado é 200OK
expect(res).to.has.status(200);
// Usando o Chai,para validar o tipo do resultado que deve ser um array
expect(res.body.data).to.be.an('array');
console.log(res.body.data);
done();
})
})
it('deve filtrar por palavra chave',(done) => {
request
.get('/task')
.query({ title: 'Estudar' })
.end((err,res) => {
// Validando se status retornado é 200OK
expect(res).to.has.status(200);
expect(res.body.data[0].title).to.equal('Estudar JavaScript');
expect(res.body.data[1].title).to.equal('Estudar APIRest');
done();
})
})
})
})
错误消息:
Uncaught TypeError: Cannot read property ‘title’ of undefined
erro apresentado ao executar os testes
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)