MongoDB не будет обновляться тестами testcafe - PullRequest
1 голос
/ 10 мая 2019

Я использую testcafe для тестов GUI.Я запускаю сервер узлов в фоновом режиме, а затем начинаю тестирование.Когда я перемещаюсь по GUI с testcafe API, все это прекрасно работает, но когда я пытаюсь вызвать функцию, которая изменяет 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 Ответ

1 голос
/ 13 мая 2019

TestCafe не должен мешать работе MongoDB.

Я рекомендую вам следующее:

  • убедитесь, что createOnlineFrom возвращает объект Promise;
  • не передает функцию с тестовыми действиями в качестве параметра,Поскольку createOnlineFrom возвращает объект Promise, вы можете упорядочить свой код более читабельным образом:
    test('go to permissions', async browser => {
        await onlineFormsController.createOnlineFrom("OMRI",'NEWFORM');
        await browser.click('#editUsersTree');
    });

Если эти рекомендации не помогли, укажите полный код вашего createOnlineFrom функция.

...