我需要为其节点测试树实现和不同的“移动”操作。我的树保存到 DB(在我们的例子中是 mongoDB,但它并不重要)。最好的方法是什么?我正在使用 JUnit。
到目前为止,我的想法如下:
创建内存中副本的原因是针对复杂树(多个级别和每个级别的节点)进行测试。否则,我必须为每个测试测试每个节点。
这有意义吗?有什么更好的方法(或更好的:可以为我做的图书馆)?
谢谢!
最佳答案
你的方法听起来不错。我建议进行一项更改:编写两个递归方法来代替数据库,它们生成给定树的字符串 XML 表示,并从给定的 XML 表示重新创建树。
您可以将初始树和预期树存储为每个测试用例的 XML 字符串,并且测试用例的断言是在一组操作之后的树的字符串 XML 表示是否等于()预期的 XML 字符串。
应该很容易直观地检查各种 XML 字符串并且调试会更容易,因为当测试失败时,您可以看到实际的 XML 并将其与预期的 XML 进行直观比较。事实上,您甚至可以在记录模式下运行测试用例,它们只需写出生成的 XML 供您审查和批准。
关于java - 使用 JUnit 测试树实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11710179/