1

我有一个节点/打字稿应用程序。我正在尝试使用 chai 和 chai-http 测试路线。当我写一个明确的名字时,我可以启动一个文件:yarn test myroute.test.ts,但yarn test在根目录什么都不做。

此外,从不进行测试。我只在我的终端收到一个Done in 0.06s.。没有“通过”或“失败”。

这是测试:

import chai from "chai";
import chaiHttp from "chai-http";
import { server } from "../index";

chai.use(chaiHttp);
const chaiApi = chai.request(server);
describe("GET /user/:id", () => {
  it("return user information", async () => {
    const res = await chaiApi
      .get("/user/123")
      .set("Cookie", "_id=567;locale=en");
    chai.assert.equal(res.status, 200);
  });
});

package.json 脚本是:"test": "test". 我认为这是完全错误的,但是 chai doc 没有说明要在这里写什么。

4

1 回答 1

1

chai是一个断言库,类似于 Node 内置的assert. 它不包含测试运行器。您需要使用mocha来收集和运行您声明的测试套件和测试用例。

添加 mocha 测试框架后,您可以npm test像这样声明脚本:

"test": "mocha --require ts-node/register --timeout 5000",

为了运行 TS 测试文件,我们需要指定ts-node/register. 像这样使用它:

yarn test myroute.test.ts
于 2021-04-06T04:28:14.537 回答