我有三个类 - ConvertToXMLElement,ConvertToClass,SerialisableClass在单元测试中验证xml结果?
ConvertToXMLElement具有这样的功能,其发生在SerialisableClass的一个实例,并返回表示类值的的XmlElement,ConvertToClass具有这样的功能,其需要在一个的XmlElement并返回一个SerialisableClass。
我想写一个单元测试,验证从ConvertToXMLElement返回的XmlElement,以确保XmlElement可以通过ConvertToClass转换为正确的类。
现在我可以想象做到这一点的唯一方法是让ConvertToClass尝试将XmlElement转换为类。
但是这意味着单元测试中两个类之间存在依赖关系,理想情况下单元测试在验证此类函数时不必关心其他类。
你必须伪造你依赖的类来返回你需要的结果。这样,您可以测试您的“XmlElement”类,而无需实际运行ConvertToClass中的代码。 –
什么应用程序将使用您生成的XML文件?如果您可以使用消费应用程序使用的slurper-parser编写测试,那将是理想的选择。另一种选择是序列化固定数据并将结果与固定的已知良好的XML文件进行比较。显然需要更多的维护......最后,不要害怕序列化,然后使用你的类进行反序列化。它是一个好主意......只要你有其他测试来支持对称测试。 –