MongoDB不会使用testcafe测试进行更新

时间:2019-05-10 13:05:19

标签: node.js mongodb mongoose testcafe

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

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运行测试时,就像这行被忽略或没有完全没有效果。

有什么想法导致此问题吗?

1 个答案:

答案 0 :(得分:1)

TestCafe不应干扰MongoDB的工作。

我建议您执行以下操作:

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

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