Skip to content

Commit

Permalink
使用supertest测试服务器api
Browse files Browse the repository at this point in the history
  • Loading branch information
bitfish2020 committed Jun 4, 2019
1 parent 3d0f973 commit 250e252
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 13 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,8 @@

https://github.com/kulshekhar/ts-jest

- supertest

一个mock http请求的测试框架


10 changes: 7 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,22 @@
"version": "1.0.0",
"scripts": {
"compiler": "tsc --watch",
"run": "ts-node src/http.ts",
"dev": "ts-node-dev src/http.ts",
"run": "ts-node src/index.ts",
"dev": "ts-node-dev src/index.ts",
"test": "jest"
},
"dependencies": {},
"dependencies": {
},
"devDependencies": {
"@types/jest": "^24.0.13",
"@types/node": "^12.0.2",
"@types/supertest": "^2.0.7",
"jest": "^24.8.0",
"supertest": "^4.0.2",
"ts-jest": "^24.0.2",
"ts-node": "^8.1.0",
"ts-node-dev": "^1.0.0-pre.39",
"tslint": "^5.17.0",
"typescript": "^3.4.5"
}
}
3 changes: 3 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import {server} from "./server";

server.listen(8088);
6 changes: 3 additions & 3 deletions src/math.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
export function add(a: number, b: number): number {
return a + b
return a + b;
}

export function minus(a: number, b: number): number {
return a - b
return a - b;
}

export function multi(a: number, b: number): number {
return a * b
return a * b;
}
6 changes: 3 additions & 3 deletions src/http.ts → src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {IncomingMessage, OutgoingMessage} from "http";

const http = require("http");

http.createServer((req: IncomingMessage, res: OutgoingMessage) => {
export const server = http.createServer((req: IncomingMessage, res: OutgoingMessage) => {
res.write("hello world");
res.end()
}).listen(8088);
res.end();
});
Empty file removed test/http.test.ts
Empty file.
8 changes: 4 additions & 4 deletions test/math.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import {add, minus, multi} from '../src/math'
import {add, minus, multi} from "../src/math";

test('adds 1 + 2 to equal 3', () => {
test("adds 1 + 2 to equal 3", () => {
expect(add(1, 2)).toBe(3);
});

test('adds 1 - 2 to equal -1', () => {
test("adds 1 - 2 to equal -1", () => {
expect(minus(1, 2)).toBe(-1);
});

test('adds 1 * 2 to equal 2', () => {
test("adds 1 * 2 to equal 2", () => {
expect(multi(1, 2)).toBe(2);
});
12 changes: 12 additions & 0 deletions test/server.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import request from "supertest";

import {server} from "../src/server";

describe("测试http服务器", () => {
it("Get /", async () => {
const result = await request(server).get("/");
console.log(result);
expect(result.text).toEqual("hello world");
expect(result.status).toEqual(200);
});
});
15 changes: 15 additions & 0 deletions tslint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"defaultSeverity": "warning",
"extends": [
"tslint:recommended"
],
"linterOptions": {
"exclude": [
"node_modules/**"
]
},
"rules": {
"no-var-requires": false,
"no-console": false
}
}

0 comments on commit 250e252

Please sign in to comment.