【发布时间】:2021-02-22 09:23:48
【问题描述】:
我的bin 文件夹中有一个www.js 文件。负责启动我的服务器应用程序。
const http = require('http');
const app = require('../app'); // This is my express application instance.
http.createServer(app).listen(process.env.SERVER_PORT || 3000);
如您所见,这里没有导出。节点将运行此文件(cmd:node bin/www),我的服务器将启动。但是它仍然有一些我需要测试的逻辑。
我的测试用例:
- 它应该使用我的 express 实例创建服务器
- 如果没有提供环境变量,它应该从 3000 端口监听
- 它应该从环境变量提供的端口(如果已给定)进行侦听。
我使用jest 进行测试。
由于此文件不导出任何内容,因此我无法将其导入开玩笑的测试文件中。我现在如何测试?
【问题讨论】:
-
没有办法做到这一点。这是 JS 的基础。一个明显的解决方案是修复模块以导出您需要的东西。
标签: javascript node.js unit-testing jestjs private