San*_*Rey 5 javascript unit-testing node.js typescript jestjs
我在我的上定义了这个变量main.ts
const mockMode = process.env.MOCK_MODE;
Run Code Online (Sandbox Code Playgroud)
我只是创建一个测试并将此变量设置为 true,但在 main 上没有得到'true',但是'false'
describe('onBook', () => {
// Arrange
const mockMode = "true";
...
Run Code Online (Sandbox Code Playgroud)
process.env.MOCK_MODE您可以直接在单元测试用例中设置 的值,并在最后将其恢复为原始值。
例如
\n\nmain.ts:
export function main() {\n const mockMode = process.env.MOCK_MODE;\n return mockMode;\n}\nRun Code Online (Sandbox Code Playgroud)\n\nmain.test.ts:
import { main } from \'./main\';\n\ndescribe(\'main\', () => {\n it(\'should pass\', () => {\n const original = process.env.MOCK_MODE;\n process.env.MOCK_MODE = \'true\';\n const actual = main();\n expect(actual).toBe(\'true\');\n process.env.MOCK_MODE = original;\n });\n it(\'should restore MOCK_MODE\', () => {\n expect(process.env.MOCK_MODE).toBe(\'undefined\');\n });\n});\nRun Code Online (Sandbox Code Playgroud)\n\n单元测试结果:
\n\n PASS src/stackoverflow/59319610/main.test.ts (14.207s)\n main\n \xe2\x9c\x93 should pass (7ms)\n \xe2\x9c\x93 should restore MOCK_MODE (1ms)\n\nTest Suites: 1 passed, 1 total\nTests: 2 passed, 2 total\nSnapshots: 0 total\nTime: 16.293s\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
18586 次 |
| 最近记录: |