Модульное тестирование

Я пытался научить себя, как выполнять модульное тестирование своего кода, так как у меня возникают проблемы с выяснением, где мои ошибки порой генерируются. Вот простая функция, которую я тестирую

var exports = module.exports = {};

exports.mike = function(num) {
    var result = num * 2;
    return result;
}

Вот что я имею в своем /test/test.js

var should = require('should');
var pete = require('../program');
describe('#mike()', function(){
    it('when passed a 2 should equal 4', function(){
        pete.mike(2).should.equal(4);
        });
    });

в моем пакете. у меня есть

"scripts": {
    "test": "mocha"
  }

Когда я запускаю тест npm, все работает правильно. Мой вопрос заключается в следующем: каковы наилучшие методы использования модульных тестов? Я знаю, что вы можете написать их в своем коде, но кажется, что это приведет к ненужному раздутию. Могут ли они быть использованы только при наличии их в вашем test.js, как я, или есть ли способ запустить тест для файла, внешнего по отношению к нему?

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

Спасибо!

1 ответ

В моем проекте все тестовые файлы находятся в папке /test с именем test-NeedTestFileName.js,

И в package.json

  "scripts": {
    "start": "node ./src/server/app",
    "build": "node build/server/server.js --install_folder .",
    "mocha": "./node_modules/.bin/mocha -u bdd -R spec --timeout 10000 ./src/server/tests/test-*.js",
    "mocha-report": "./node_modules/.bin/mocha -R xunit --timeout 10000 ./src/server/tests/test-*.js -O output=./test-results/mocha.xml",
    "karma": "node node_modules/karma/bin/karma start",
    "test": "npm run mocha-report && npm run karma",

Когда я хочу запустить модульное тестирование, просто запустите npm run mocha, Чтобы получить отчет о модульном тесте, будет работать npm test,

Другие вопросы по тегам