Модульное тестирование Chai Неожиданный токен {в JSON в позиции 25 - PullRequest
0 голосов
/ 09 апреля 2019

Пытаюсь проверить конечную точку отдыха, но я получаю

страница индекса должна отображаться, привет, мир

должен отобразить привет мир 200:

 SyntaxError: Unexpected token { in JSON at position 25

Не уверен, что я делаю не так.

ссылка на это

https://github.com/chaijs/chai

router.spec.js

import chai from 'chai';
import { expect } from 'chai';
import chaiHttp from 'chai-http';
import { assert } from 'assert'
import router from '../routes/';

chai.use(chaiHttp);


// simple test
// describe('Array', () => {
//       it('should return -1 when the value is not present', () => {
//         assert.equal([1, 2, 3].indexOf(4), -1);
//       });
// });



describe('index page should render, hello world', () => {
it('should render hello world 200', () => {     
  return chai.request(router)
   .get('/')
   .end((err, res) => {
        res.should.have.status(200);
        res.body.should.be.a('object');
        res.body.length.should.be.eql(0);
     done();
   });
 });   
})

index.js

import express from 'express';

const app = express();

app.get('/', (req, res) => {
   return res.status(200).json({
        message: "Hello World"
    })
})

export default app;

1 Ответ

0 голосов
/ 09 апреля 2019

Я решил использовать другой подход и использовал супертест. Это была проблема с чтением объектов json.

import chai from 'chai';
import { expect } from 'chai';
import chaiHttp from 'chai-http';
import { assert } from 'assert'
import router from '../routes/';
import request from 'supertest';

chai.use(chaiHttp);


// simple test
// describe('Array', () => {
//       it('should return -1 when the value is not present', () => {
//         assert.equal([1, 2, 3].indexOf(4), -1);
//       });
// });



describe('index page should render 200 request', () => {
  it('should get index 200', () => {     
    request(router)
      .get('/')
      .set('Accept', 'application/json')
      .expect('Content-Type', /json/)
      .expect(200)
      .end((err, res) => {
        if (err) throw err;
      });
    });  
})
...