我有单元测试的默认设置(Jasmine 和 Karma)。我需要为一个函数编写一个单元测试,该函数从
Element
读取提供的 XMLDocument
节点。虽然我可以通过编程方式生成 DOM,但我已经在 asset 文件夹中提供了示例 XML 文件,并且按照我在实际应用程序中所做的相同方式解析这些文件将是最简单、最现实的。然而,向单元测试提供文件似乎非常困难。由于我想要完成的事情是基本的并且可能做了很多,所以我希望可能有一个我正在寻找的简单解决方案。
我知道我可以将 XML 源复制并粘贴到字符串中,但我想要使用的文件为 20-50 kB 并且包含引号,所以我试图避免这种情况。从我在网上看到的比如这个问题来看,导入文件的方式是使用raw-loader。然而,这需要大量的工作来设置,而且该方法现在已经过时,有利于“资产模块”。 Angular 的 HttpClientTestingModule 对我没有帮助,因为它要求我已经在内存中拥有该字符串,这违背了用它加载资产的目的。
d.ts
文件
declare module "*.json" {
const value: any;
export default value;
}
也许您可以尝试对 XML 做同样的事情?
注意:与默认导出一起使用,即
import XML from "file.xml";