Я поставил в тупик содержимое файла, поэтому могу запускать только внешнюю функцию
файл. html
<body onload ="test('file.txt')">
<body>
файл. js
const fs1 = require('fs');
let param;
module.export = {
test,
test1,
param
}
function test (outputParam) {
let fileData = test1(outputParam);
param = fileData;
}
function test1(outputParam) {
let data = fs1.readFileSync(outputParam);
return data;
}
Здесь, как вы видите, я загружаю функциональный тест из html onload и, в свою очередь, test1 вызывает и читает файл, я поставил этот файл на место, как показано в тесте ниже
Когда я запускаю тест, я хочу видеть, что переменная param имеет значение содержимого файла
test.spe c. js
let sinon = require("sinon");
let filejs = require('./file.js');
it('should run only the outer function' ,function() {
// I try to stub my function here
sinon.stub(filejs,'test1').callsFake ((someArg) => {
return "this is my file content";
});
// Now I will call my test function
filejs.test(someArg);
})
Как вы видели выше, я заглушил функцию test1, но когда я запускаю тест, я вижу, что test1 вызывается и он читает реальный файл.
Я использую mocha, я новичок в понятиях заглушки или mock Любое предложение действительно приветствуется.