1

我正在创建一个 npm 模块。使用 typescript 并使用 jest 作为测试框架。但能够覆盖下面代码中提到的信息结果条件。

索引.ts

export const DEFAULT_LEVEL = process.env.NODE_ENV === "test" ? "silent" : "info";

export something;

索引.test.ts

import DEFAULT_LEVEL from "./index";
// Here i am getting the value as test for process.env.NODE_ENV.
// Instead i need to mock the value of process.env.NODE_ENV and check the value of DEFAULT_LEVEL

expect(DEFAULT_LEVEL).toBe("info"); // Now this is not happening

我对此并不陌生,并且处于学习阶段,因此我们将不胜感激。提前致谢。

4

1 回答 1

0

您正在从模块中导入默认值;如果您只想导入常量DEFAULT_LEVEL,则需要将其包裹在花括号中:

import { DEFAULT_LEVEL } from "./index";

有关更多详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import


既然你解决了这个问题,我又看了你的条件:

process.env.NODE_ENV === "test" ? "silent" : "info";

silent当节点 env 是时返回test;只需交换条件。

于 2019-12-29T11:38:50.270 回答