我想在开发服务器上运行e2e测试,例如量角器(或其他Selenium测试)。是否可以切换到不同的测试数据库进行测试?我在每次测试运行之前加载灯具。 这种测试的好方法是什么 - 在后端使用node.js和mongo.db,关于数据库设置?
提前谢谢。
答案 0 :(得分:1)
最简单的方法是使用不同的配置来启动应用程序的另一个实例,即连接到不同的数据库并侦听不同的端口。然后你可以将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
我希望它有所帮助。