我當前正在運行的API測試 - 這與使用摩卡沒有問題運行。測試數組存儲在變量中 - 在文件頂部的「測試」。我想讀一個文本文件中的測試信息和之前運行測試(一次)解析信息到一個變量。如何從運行測試之前,對摩卡讀取文件?
我已經嘗試過使用()同步和異步(下)
//Synchronously
describe("API Tests", function (done) {
before(function(){
tests = fs.readFileSync('./json.txt', 'utf8');
tests = JSON.parse(tests);
});
for (var i = 0; i < tests.length; i++) {
runTest(tests[i]);
}
done();
});
//Asynchronously
describe("API Tests", function() {
var tests = "";
before(function(){
fs.readFile('./json.txt', 'utf8', function(err, fileContents) {
if (err) throw err;
tests = JSON.parse(fileContents);
});
});
for (var i = 0; i < tests.length; i++) {
runTest(tests[i]);
}});
節點返回一個錯誤,說明該文件不存在(它一樣)。
另外我試圖運行該文件讀(同步和異步),執行封裝在回調描述(根據下文)。似乎無法查出案件,返回「沒有發現任何測試」。
var tests;
fs.readFile('./json.txt', 'utf8', function(err, fileContents) {
if (err) throw err;
tests = JSON.parse(fileContents);
describe("API Tests", function() {
for (var i = 0; i < tests.length; i++) {
runTest(tests[i]);
}
});
});
如何在運行Mocha之前讀取包含測試用例的文件?我在Webstorm中使用了Mocha。
AFAIK'describe'不應該傳遞'done'回調。 – MarcoL