如何在节点中启动 chai 测试?

How to launch a chai test in node?

我有一个 node/typescript 应用程序。我正在尝试使用 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 没有说明这里要写什么。

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

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

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

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

yarn test myroute.test.ts