Как быть более многословным на тестах? - PullRequest
2 голосов
/ 08 июля 2019

Я хотел бы получить более подробный вывод для каждого шага теста;
Есть какие-нибудь идеи о том, как мне лучше всего добиться этого без добавления console.log после каждого шага?

Я пытался перегрузить tобъект, как показано ниже, но не может заставить его работать более одного раза в выводе.

в mylib.js

exports.init = function(t) {
    t.oTypeText = t.typeText;

    t.typeText = function fn(selector, data, opts) {
        console.log('typing text in '+selector+': '+data);
        return t.oTypeText(selector, data, opts);
    };

    return;
};

в test.js

import { Selector } from 'testcafe';
const mylib = require('./mylib');


fixture("Getting Started")
    .page("https://devexpress.github.io/testcafe/example");


test('My first test', async t => {
    mylib.init(t);
    await t.typeText('#developer-name', 'John Smith')
           .selectText('#developer-name').pressKey('delete')
           .typeText('#developer-name', 'new name')
           .selectText('#developer-name').pressKey('delete')
           .typeText('#developer-name', 'another name');
    await t.click('#submit-button');

});

результат:

Using locally installed version of TestCafe.
 Running tests in:
 - Firefox 68.0.0 / Mac OS X 10.14.0

 Getting Started
(node:62978) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
typing text in #developer-name: John Smith
 ✓ My first test


 1 passed (4s)

1 Ответ

1 голос
/ 08 июля 2019

TestCafe не поддерживает эту функцию из коробки. Я создал для вас вариант использования - https://github.com/DevExpress/testcafe/issues/4001 в репозитории TestCafe. Мы можем использовать способ с переопределением действий прямо сейчас, но теоретически это может нарушить некоторые функции.

...