我正在使用hapi,而不是表达.supertest还应该工作吗?
如果是这样,是否有一种快速方法来更改我的代码以使其运行?
根据文档,我的测试看起来像这样:
import tape = require('tape');
const supertest = require('supertest');
const app = require('../../../../src/app');
tape('creates new user in database', function (assert) {
supertest(app)
.get('/ekapi/v1/signup')
.expect(200)
......
});
Run Code Online (Sandbox Code Playgroud)
但它给了我这个错误:
dist/server/app/node_modules/supertest/lib/test.js:55
var addr = app.address();
^
TypeError: app.address is not a function
at Test.serverAddress (/home/rje/projects/ekaya/dist/server/app/node_modules/supertest/lib/test.js:55:18)
Run Code Online (Sandbox Code Playgroud)
这是我的应用代码:
app.ts
import './core/externalTypes/imports';
import 'reflect-metadata';
import kernel from './core/inversify.config';
import {IServer} from './core/types/IServer';
let server = kernel.get<IServer>("IServer");
server.start();
Run Code Online (Sandbox Code Playgroud)
server.ts
import _ = require('lodash');
import * as hapi from "hapi";
import { injectable, inject …Run Code Online (Sandbox Code Playgroud)