我想用jest执行单元测试,将xml文件转换为json。我在文件夹中创建了一个example.xml文件,但我不知道如何将其导入到test.js文件中有人有主意吗?
例如,如果要加载./sample.xml
:
<retrieveCustomer><id>39399444</id></retrieveCustomer>
以下是要从文件加载的代码:
var fs = require('fs'),
xml2js = require('xml2js');
var parser = new xml2js.Parser();
(async function () {
fs.readFile(__dirname + '/sample.xml', function(err, data) {
parser.parseString(data, function (err, result) {
console.dir(result);
console.log(typeof result);
console.log('Done');
});
});
}())
这是打印结果:
$ node index.js
{ retrieveCustomer: { id: [ '39399444' ] } }
object
Done
您可能不需要将其作为对象导入(就像这里的parseString
一样(,但如果您想将其作为原始导入,可以使用fs.readFile
,然后将输出流式传输到要测试的程序。
require('file.xml')
无法工作,因为它只能用于加载和运行Javascript文件或读取和解析JSON文件。它不用于加载其他文件格式。
希望这能有所帮助!
jest.config.js
以将这些文件指向您的转换器。
更新jest配置-->https://github.com/facebook/jest/issues/2663
对于TypeScript,您还需要@types/XML.d.ts
,此处提供详细信息。。。
如何在React typescript 中读取xml文件(toolsbox.xml(