2

我想在开发服务器上运行 e2e 测试,如量角器(或其他 Selenium 测试)。是否可以在测试时间切换到不同的测试数据库?我在每次测试运行之前加载夹具。这种测试的良好做法是什么 - 在后端使用 node.js 和 mongo.db,关于数据库设置?

先感谢您。

4

2 回答 2

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

我希望它有所帮助。

于 2014-01-04T02:12:12.523 回答
0

Mocha 现在可以接受 --config 文件,该文件可用于指向不同的数据库。我使用同一个数据库服务器,一个服务器可以有多个数据库,这对于开发人员来说非常简单和轻量级。

https://www.w3resource.com/mocha/command-line-usage.php

于 2021-08-20T07:53:12.197 回答