gpt4 book ai didi

node.js - 是否可以在node.js上切换数据库到测试数据库?

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:32 25 4
gpt4 key购买 nike

我想在开发服务器上运行 e2e 测试,例如 Protractor (或其他 Selenium 测试)。是否可以在测试时切换到不同的测试数据库?我在每次测试运行之前加载装置。此类测试的良好实践是什么 - 在后端使用 Node.js 和 mongo.db,涉及数据库设置?

提前谢谢您。

最佳答案

恕我直言,最简单的方法是使用不同的配置启动应用程序的另一个实例,即连接到不同的数据库并监听不同的端口。然后你可以将 Selenium 指向它。理论上,应用程序的 FE 应该与端口无关,但是如果这出现问题,nginx 可以提供很大的帮助。

假设您希望它位于端口 3333 和域 test.myapp 上。这是 nginx 的示例配置文件。

server {
listen 80;
server_name test.myapp;

location / {
proxy_pass http://localhost:3333;
proxy_set_header Host $host;
proxy_buffering off;
}
}

当然,您希望为当前的开发服务器定义另一个服务器。只需冲洗并重复即可。

通常,nodejs 应用程序中的配置是根据环境变量 NODE_ENV 的值来选择的。当你运行你的应用程序时,你可以像这样传递它(我假设它是一个 Linux 服务器):

$ NODE_ENV=test node app.js

然后在您的应用程序中您可以轻松访问它:

var env = process.env.NODE_ENV

希望对您有所帮助。

关于node.js - 是否可以在node.js上切换数据库到测试数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com