для цикла с описанием, это при использовании мокко, странные проблемы возникают - PullRequest
0 голосов
/ 25 сентября 2019
var Test1 = function (testcases) {

var testData = testcases
var testResult = false;
var startTime;
var endTime;
var day = currentDate();

describe(`Test Case: ${testData[0].testname}`, function () {
    this.timeout(40000);
    this.slow(100);
    console.log(testData.length);

    before(function* () {
        nightmare = Nightmare(testSetting.nightmare);
    });

    for (var i = 0; i < testData.length; i++) {
        console.log("At least we make it here,line27");
        it('Check page ' + testData[i].testname, function* () {
            console.log("At least we make it here,line29");
            startTime = currentTime();
            var folderNameforResult = `TestResultJSONs`;
            var folderNameforCaseByCase = `TestResultJSONs/${testData[i].testname}`;
            JSONFolderCreate(folderNameforResult);
            JSONFolderCreate(folderNameforCaseByCase);
            console.log("At least we make it here,line35");
            yield nightmare
                .goto(testData[i].loc)
                .wait(testData[i].SEL) // Coverage search box
                .then(() => {
                    console.log(testData[i].testname + ' Landing page is loaded.');
                    testResult = true;
                    endTime = currentTime();
                    console.log(startTime, endTime, day);
                    OutputJSON(testData[i].testname, testResult, startTime, endTime, testData[i].SEL, testData[i].loc, day);
                })
                .catch(error => {
                    console.log(testData[i].testname + ' Landing page fail.');
                    testResult = false;
                    endTime = currentTime();
                    mailFail(testData[i].testname, testData[i].loc);
                    console.log(startTime, endTime, day);
                    OutputJSON(testData[i].testname, testResult, startTime, endTime, testData[i].SEL, testData[i].loc, day);
                })
        });
    }
    after(function* () {
    yield nightmare.end();
    })
})

}

Результат: 125 По крайней мере, мы делаем это здесь, строка27 По крайней мере, мы делаем это здесь, строка27 По крайней мере, мы делаем это здесь, строка27 По крайней мере, мы делаем это здесь, строка27 По крайней меремы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаемэто здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесьПо крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27.мы делаем это здесь, line27 Aпо крайней мере, мы делаем это здесь, line27, по крайней мере, мы делаем это здесь, line27, по крайней мере, мы делаем это здесь, line27, по крайней мере, мы делаем это здесь, line27, по крайней мере, мы делаем это здесь, line27, по крайней мере, мы делаем это здесь, line27, по крайней мере,мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаемэто здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесьПо крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27.мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаемэто здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесьПо крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27.мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаемэто здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесьПо крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27. По крайней мере, мы делаем это здесь, line27.мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаемэто здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27 По крайней мере, мы делаем это здесь, строка 27По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27 По крайней мере, мы делаем это здесь, line27

Тестовый пример: personal_home_tc_ По крайней мере, мы делаем это здесь, line29 1) Проверьте страницу personal_home_tc_

0 прохождение (29 мс) 1 сбой

1) Тестовый пример: personal_home_tc_ Страница проверки personal_home_tc_: TypeError: Невозможно прочитать свойство 'testname' undefined в Context.(test_template1.js: 32: 78) в Generator.next () в onFulfilled (node_modules \ co \ index.js: 65: 19) в C: \ Users \ robert.lui \ Documents \ nightmare \ node_modules \ co \ index.js: 54: 5 в новом Promise () в co (node_modules \ co \ index.js: 50: 10) в Context.args. (анонимная функция) (node_modules \ mocha-generators \ index.js: 25: 6)

Похоже, что сначала запускается цикл for27 для цикла 125 и просто пропускается весь контент в it (), которые являются наиболее важной частью.Как я могу заставить его работать нормально, что означает запустить строку 27, затем перейти к тому или другому результату, а затем вернуться к строке 27 125 раз?

1 Ответ

0 голосов
/ 25 сентября 2019

На самом деле, это не странно.Jest запускает тест асинхронно.Таким образом, когда вы звоните it('...', () => { ... }), он не будет запускаться, а просто запланировать.Поскольку вы используете var для определения переменной, у вас будет то же значение при выполнении теста.Используйте it.each() для таких случаев, или, по крайней мере, вам следует переключиться на let в вашем цикле.

...