我是node的新手,我得到的错误是错误:运行npm test时,连接ECONNREFUSED 127.0.0.1:3100。
这是我的测试文件。
Test.ts
import * as chai from 'chai';
let chaiHttp = require('chai-http');
import * as assert from 'assertthat';
import * as request from "superagent";
chai.use(chaiHttp);
const expect = chai.expect;
describe('Checking whether the response return status 200', function() {
it('Status OK', function(done) {
return chai.request('https://localhost:3100')
.get('/hello')
.end(function(err, res){
if(err){
done(err);
}
else{
expect(res.body.message).to.equal('hello world');
done();
}
});
});
});
这是我的应用文件
app.ts
import * as express from 'express';
import {Request,Response} from 'express';
const app: express.Express = express();
app.get('/hello',(req:Request,res:Response)=>{
res.json({
message:"hello world"
});
});
app.listen(3100,() =>{
console.log("server listening");
});
export default app;
答案 0 :(得分:0)
您的服务器在尝试测试 GET / hello 路由时未运行,因此无法连接。
请参见example,了解如何测试API的服务器路由。
在您的 test.ts 文件中,您应该导入服务器,并确保它在测试之前监听,并在测试之后关闭。>
import server from 'app.ts';
import * as chai from 'chai';
import * as assert from 'assertthat';
import * as request from 'superagent';
const chaiHttp = require('chai-http');
const expect = chai.expect;
chai.use(chaiHttp);
describe('Checking whether the response return status 200', function() {
it('Status OK', async function(done) {
const { res, err } = await chai.request(server).get('/hello');
expect(res.body.message).to.equal('hello world');
});
});