ubernoob
@ubernoob

Как вернуть значение функции в node.js?

Файл index.js
var mymodule = require('./mymodule');
var testword = require('./testword.json');

for( var word in testword){
	var result = testword[word];
	console.log('word: ', word, 'result: ', result);
}


Файл mymodule.js
module.exports.test = function (word) {
	if(word.indexOf('a')+1){
		return true;
	}
	else{
		return false;
	}
};


Файл testword.json
{
  "yandex": true,
  "google": true,
  "huyandex": false
}


Функция test в mymodule.js проверяет слово и возвращает true или false
Вопрос: как мне сравнить её ответ с true или false которые уже заданы в документе testword.json ?
  • Вопрос задан
  • 273 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Не особо понятно, что вы вообще делаете, но, видимо, что-то около того:
var tester = require('./mymodule').test,
    assertions = require('./testword.json');

for (var word in testword) {
    var expected = assertions[word],
        actual = tester(word);

    console.assert(actual === expected, actual, expected);
}


Но ваша проверка word.indexOf('a')+1 будет проходить для любого слова, в котором есть буква "a". А такая буква есть в обоих проверяемых словах, так что тест заведомо неверный.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы