我需要测试多个返回 XML 的调用。将 XML 存储在我的单元测试的模拟类中并不是一个很好的解决方案。
我想知道是否还有另一种 Salesforce 对象类型,我可以将 XML 粘贴到单元测试期间可以访问的位置。我已经知道 PageReference 的 getContent() 在单元测试期间没有做任何事情(很糟糕)。
当然,Apex 允许在字符串文字中使用换行符,因此剪切和粘贴 XML 会更容易,但是唉……
我需要测试多个返回 XML 的调用。将 XML 存储在我的单元测试的模拟类中并不是一个很好的解决方案。
我想知道是否还有另一种 Salesforce 对象类型,我可以将 XML 粘贴到单元测试期间可以访问的位置。我已经知道 PageReference 的 getContent() 在单元测试期间没有做任何事情(很糟糕)。
当然,Apex 允许在字符串文字中使用换行符,因此剪切和粘贴 XML 会更容易,但是唉……
为了测试进行 xml 解析的类,我创建了简单的
final static string xmlString = 'xml goes here';
在这个测试课程中。然后我通过将此字符串传递给执行 xml 解析的方法来使用它。
为什么需要发明自行车?
将 XML 存储在静态资源中,然后从测试代码中查询 StaticResource 对象:
StaticResource sr = [select Body from StaticResource where Name='Test_XML' limit 1];
String xmlString = String.valueOf(sr.Body);
Dom.Document doc = new Dom.Document();
doc.load(testXML);