需要使用 frisby 验证以下 xml 响应
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<server-auth enabled="true">
<ldapAuth>false</ldapAuth>
<emailAuth>true</emailAuth>
</server-auth>
最简单的方法是使用/安装 xml2js
在全局模式下(即,将 -g 或 --global 附加到命令中),它将当前包上下文(即当前工作目录)安装为全局包。
npm install -g xml2js
var frisby = require('frisby');
var xml2js = require('xml2js');
var apiEndpoint = 'http://localhost:3000/api/v1/';
frisby.create('Parse xml')
.get(apiEndpoint+'api.php?method=get_xml')
.expectHeaderContains('content-type', 'text/xml')
.after(function (err, res, body) {
var parser = new xml2js.Parser();
parser.parseString(body, function (err, result) {
expect(result).toContainJson({
"server-auth": {
"$": {
"enabled":"true"
},
"ldapAuth":["false"],
"emailAuth":["true"]
}
});
});
})
.toss();
输出
Finished in 0.041 seconds
1 test, 4 assertions, 0 failures, 0 skipped
要了解有关不同用法的更多信息,请查看: