【发布时间】:2021-06-21 12:26:18
【问题描述】:
我正在尝试在我的应用程序中对一个检查process.env.NODE_ENV 值的函数进行单元测试。 FWIW process.env.NODE_ENV 的类型是 string | undefined。
在我的玩笑测试中,我可以轻松地测试这样设置的字符串值:
it('test', () => {
// Arrange
process.env.NODE_ENV = 'development';
// Act
functionUnderTest();
// Assert
export(true).toBe(true);
});
当我想测试我的代码对process.env.NODE_ENV 设置为undefined 的处理时,就会出现问题。我希望能够在我的笑话测试中简单地设置process.env.NODE_ENV = undefined。不幸的是,似乎在某个地方,该值被转换为string,这样当测试命中我的函数时,process.env.NODE_ENV 的值是"undefined"(作为字符串)。
我也尝试像这样将process.env.NODE_ENV 设置为undefined,但结果相同:
process.env = Object.assign(process.env, { NODE_ENV: undefined });
如何在开玩笑测试中将process.env.NODE_ENV 设置为undefined?
【问题讨论】:
-
这能回答你的问题吗? Test process.env with Jest
标签: node.js unit-testing jestjs ts-jest