XMLSerializer 在玩笑测试中未定义
XMLSerializer is undefined in jest test
我在 NODE 包 class 方法之一中使用了 XMLSerializer
class。使用 jest
编写单元测试用例时抛出 XMLSerializer is not undefined
错误。由于这是浏览器原生的,所以不能有任何包。
即使我在网上搜索,也找不到关于 using a new jsdom 和创建 XMLSerializer 原型的建议。
SO 上没有帖子也没有找到合适的解决方案。
我目前为 XMLSerializer
使用了如下包装(打字稿代码):
export default class XmlSerializerWrapper {
private serializer: XMLSerializer;
constructor() {
this.serializer = new XMLSerializer();
}
public serializeToString(doc: Document) {
return this.serializer.serializeToString(doc);
}
}
它工作正常。
今天遇到了同样的问题并遇到了这个 post。我的做法:
describe('MyXmlDocument', () => {
global.XMLSerializer = function() {
return {
serializeToString : jest.fn(x => x)
};
}
... your tests here
});
我的代码只需要 serializeToString() 方法,所以这是唯一被模拟的方法。
我在 NODE 包 class 方法之一中使用了 XMLSerializer
class。使用 jest
编写单元测试用例时抛出 XMLSerializer is not undefined
错误。由于这是浏览器原生的,所以不能有任何包。
即使我在网上搜索,也找不到关于 using a new jsdom 和创建 XMLSerializer 原型的建议。
SO 上没有帖子也没有找到合适的解决方案。
我目前为 XMLSerializer
使用了如下包装(打字稿代码):
export default class XmlSerializerWrapper {
private serializer: XMLSerializer;
constructor() {
this.serializer = new XMLSerializer();
}
public serializeToString(doc: Document) {
return this.serializer.serializeToString(doc);
}
}
它工作正常。
今天遇到了同样的问题并遇到了这个 post。我的做法:
describe('MyXmlDocument', () => {
global.XMLSerializer = function() {
return {
serializeToString : jest.fn(x => x)
};
}
... your tests here
});
我的代码只需要 serializeToString() 方法,所以这是唯一被模拟的方法。