0.1.3 • Published 3 years ago
in-server-test v0.1.3
in-server-test
- In server run test
Install And Run
npm:
$ npm install --save in-server-test
Run:
in-server-test run at process.env.e2e
is true:
e2e=1 yarn start
or in index.js, set process.env.e2e
:
process.env.e2e = 1;
inServerTest
1. Run Test Sign:
In src/controllers/sign.js
, add:
import inServerTest from "in-server-test";
// first run index:1
inServerTest(1, "Test Sign", async (eq) => {
const signData = await eq(
fetch("http://localhost:3000/sign/?username=abc&password=123"),
{
code: 200,
message: "sign done",
}
);
// InServerTest.cache is {};
InServerTest.cache.signData = signData;
});
2. Run Test Login:
In src/controllers/logn.js
, add:
// seconed run index:2
inServerTest(2, "Test login", (eq) => {
eq(
fetch("http://localhost:3000/login/?username=abc&password=123"),
{ code: 200, message: "logined" },
"Test with password"
);
eq(
fetch(
"http://localhost:3000/login/?username=abc&token=" +
InServerTest.cache.signData.token
),
{ code: 200, message: "logined" },
"Test with token"
);
});
eq
type eq = (a: any, b: any, message?: string) => Promise<a>;
eq use try/catch: Promise.resolve(a)
check deepEqual b
:
inServerTest(2, "Test login", (eq) => {
const testA = () => {
throw "dog";
};
eq(a, "dog"); // right
});