您可以使用util.promisify(original)方法来获取fs.readFile.
例如
index.spec.js:
const util = require("util");
const path = require("path");
const fs = require("fs");
const { expect } = require("chai");
const readFile = util.promisify(fs.readFile);
describe("57841192", () => {
it("Final Decoding Tests", async () => {
const basepath = path.resolve(__dirname, "./test/test_data");
const options = { encoding: "utf-8" };
const readInput = readFile(path.join(basepath, "booksEncoded.txt"), options);
const readOutput = readFile(path.join(basepath, "books.xml"), options);
const [input, output] = await Promise.all([readInput, readOutput]);
expect(input).to.be.equal("haha");
expect(output).to.be.equal("<item>unit test</item>");
console.log(input);
console.log(output);
});
});
单元测试结果:
57841192
haha
<item>unit test</item>
✓ Final Decoding Tests
1 passing (9ms)
---------------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
---------------|----------|----------|----------|----------|-------------------|
All files | 100 | 100 | 100 | 100 | |
index.spec.js | 100 | 100 | 100 | 100 | |
---------------|----------|----------|----------|----------|-------------------|
源代码:https ://github.com/mrdulin/mocha-chai-sinon-codelab/tree/master/src/stackoverflow/57841192