Как мне сделать модульное тестирование на другом операторе, который просто вернуть. - Нодейс, Синон - PullRequest
0 голосов
/ 07 ноября 2018

Я выполняю свое модульное тестирование в nodejs с использованием sinon.

Как проверить остальную часть для моего task1.js? Предполагается, что если мой счет не равен 0, я перейду к собственной обработке, иначе я закончу свою задачу.

Я могу смоделировать свой getbookForUpdateCount, чтобы он возвращал значения счетчиков, но что будет дальше?

Как мне убедиться, что этот путь выбран?

Task1.js:

function updateInfo() {

    bookDao.getbookForUpdateCount(updateCountParams, function (results) {

        console.log("Step 1: " + results[0].RECCOUNT + " for updates!".blue);
        //1. Get count. If > 0, proceed. else end task.
        if (results[0].RECCOUNT > 0) {

            ...
            //some other functions
        }
        else {
            //no record to be processed.
            return;
        }
    });
}

1 Ответ

0 голосов
/ 27 февраля 2019

Я понимаю ваш вопрос следующим образом: функция, которую вы хотите протестировать, будет, в зависимости от определенных условий, иметь какой-то эффект или, наоборот, просто "ничего не делать". Теперь вы хотите проверить, что программное обеспечение работает по пути «ничего не делать». Но вы не уверены, как проверить в своем тестовом коде, что функция просто ничего не сделала.

Подтверждение, просто сказано. просто чтобы убедиться, что никакого эффекта не произошло. Если, например, эффект является модификацией глобальной переменной, то эффект не заключается в том, что глобальная переменная сохраняет свое значение. Если эффект заключается в том, что вызывается метод для определенного объекта, то эффект не заключается в том, что соответствующий метод не был вызван - фиктивные библиотеки предлагают проверки именно для этого случая, а именно для проверки того, что определенная функция не называется. Если эффект заключается в том, что некоторые данные вводятся в базу данных, то это не означает, что соответствующие данные не могут быть найдены в базе данных (хотя это не пример модульного тестирования, а пример интеграционного тестирования). .

...