Как протестировать JavaScript без фреймворка - PullRequest
0 голосов
/ 04 октября 2019

Как тестировать код JavaScript без использования дополнительных фреймворков, таких как Mocha. Можно ли создать тестовый блок, написать тестовые функции вручную, протестировать код ..?

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

Допустим, это функция в файле main.js

function calculate(a, b) {
    return a+b;
}

И это тестовый пример в testMain.js file

function testCalculate(){
    if(calculate(1,1)==2)
       console.log('It Works!');
    else
       console.log('Test failed');
}

testCalculate();

Когда я пытаюсь запустить testMain.js в Intellij Idea IDE, я получаю сообщение об ошибке, похожее на

"ReferenceError: вычисления не определены"

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Чтобы ваш код работал, ваш файл testMain.js должен каким-то образом импортировать ваш код main.js.

В файле main.js:

function calculate(a, b) {
    return a+b;
}

module.exports.calculate = calculate

в testMain.jsфайл, импортируйте файл main.js:

var main = require('main.js')

function testCalculate(){
    if(main.calculate(1+1)==2)
       console.log('It Works!');
    else
       console.log('Test failed');
}

Примечание: я знаю, что это не обязательно показывает хороший стиль кодирования, просто стремлюсь продемонстрировать, что исходная проблема была с минимальными изменениями воригинальные фрагменты

Тем не менее, обычно не стоит изобретать велосипед и создавать свои собственные тестовые рамки. Можете ли вы объяснить причину, по которой вы хотели бы избежать существующей структуры? Если вы ищете простоту, возможно, что-то вроде jstinytest подойдет.

0 голосов
/ 04 октября 2019

Если это приложение NodeJS, вы можете просто запросить другой файл и импортировать другую функцию. Если в проекте используется Babel, вы можете использовать импорт ES6 для импорта функции из другого файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...