node.js - MongoDB 不会更新 testcafe 测试

标签 node.js mongodb testing mongoose testcafe

我正在使用 testcafe 进行 GUI 测试。我在后台运行 Node 服务器,然后开始测试。当我使用 testcafe API 浏览 GUI 时,一切都很好,但是当我尝试调用更改数据库的函数(在测试中硬编码)时,数据库根本不受影响。 这是我的代码:

fixture('Permissions')
.page('https://localhost');

test('go to permissions', async browser => {
    await onlineFormsController.createOnlineFrom("OMRI",'NEWFORM',async ()=>{
        await browser.click('#editUsersTree');
        await browser.click('#loadDefaultTree');
        await browser.wait(500);
        await browser.pressKey('enter');
        await browser.wait(500);
        await browser.pressKey('enter');
        await browser.click('#saveTree');
        await browser.pressKey('enter');
        await browser.navigateTo('https://localhost/Home');
        await browser.wait(5000);
    });

});

函数onlineFormsController.createOnlineFrom应该在我的数据库中创建新表单,但什么也没发生。它与 testcafe 测试分开运行良好(使用 mocha 进行测试,效果很好),但是当我使用 testcafe 运行测试时就好像这一行被忽略或根本没有任何效果。

有什么想法导致这个问题吗?

最佳答案

TestCafe 不应干扰 MongoDB 工作。

我向您推荐以下内容:

  • 确保createOnlineFrom返回一个Promise对象;
  • 不要传递带有测试操作作为参数的函数。由于 createOnlineFrom 返回一个 Promise 对象,因此您可以以更易读的方式组织代码:
    test('go to permissions', async browser => {
        await onlineFormsController.createOnlineFrom("OMRI",'NEWFORM');
        await browser.click('#editUsersTree');
    });

如果这些建议没有帮助,请提供 createOnlineFrom 函数的完整代码。

关于node.js - MongoDB 不会更新 testcafe 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56078330/

相关文章:

javascript - 有没有更简单的方法来链接 MongoDB 结果的 promise ?

php - 在 Mac OS Lion 上使用 XAMPP 安装 MongoDb PHP 驱动程序时出错

javascript - 黑猩猩.js 配置

design-patterns - 是什么让静态初始化函数好、坏或其他?

node.js - npm安装zmq问题

javascript - Gulp 不创建文件夹?

node.js - nodejs http2 请求 - 在哪里可以找到客户端 IP 地址

javascript - 如何使用 JS 和 NodeJS 服务器为标准 html 页面正确配置 app.yaml?

java - 有时会使用唯一索引插入重复数据

testing - 任何地方或论坛都可以帮助测试我的 Windows Phone 应用程序(.xap 文件)?