Я получаю следующую ошибку при модульном тестировании одного элемента с использованием knex . Я также ссылаюсь на это https://mherman.org/blog/test-driven-development-with-node/
Он успешно отображает api / users / 1. Так что не уверен, почему он говорит, что ноль.
GET / api / users /: id
Должен вернуть одно шоу:
Uncaught TypeError: Невозможно прочитать свойство 'should' из null
в случае необходимости (tests / users.spec.js: 59: 26)
users.spec.js
import chai from 'chai';
import { expect } from 'chai';
import chaiHttp from 'chai-http';
import { assert } from 'assert'
import users from '../routes/users';
import request from 'supertest';
describe('GET /api/users/:id ', () =>{
it('Should return a single show ', (done)=> {
chai.request(users)
.get('/users/1')
.set('Accept', 'application/json')
.end((response) => {
// error begins here
response.should.have.status(200);
response.should.be.json;
response.body.should.be.a('object');
response.body.should.have.property('id');
response.body.name.should.equal(1);
done()
})
});
})
маршруты / users.js
users.get('/users/:id', (req, res) => {
return knex('users').where({id: req.params.id})
.then( (user) => {
res.json({
user: user
})
});
})