我在我的一个应用程序中将访问者作为核心架构理念之一进行了介绍。我有几个访问者在相同的东西上进行操作。现在,我应该如何测试它?我正在考虑的一些测试比单元测试应该大一些(集成测试?无论如何),但我仍然想做。您将如何测试访问者模式上维基艺术中的 C++ 示例之类的代码
Nazgob
问问题
2500 次
3 回答
4
单元测试实际上并不是关于测试模式,而是关于测试方法和功能的正确实现。访问者模式是一个特定的类结构,并且对于所涉及的每个类(具体来说是 ConcreteVisitor 和 ConcreteElement),您都需要进行单元测试。
当您确信您的类方法表现良好时,您也可以使用您的单元测试框架来开发集成测试。不要马上开始集成测试:你会发现你开发了很多实际上是在测试特定类的行为的集成测试,即单元测试。
无论您需要模拟对象还是可以使用“真实”对象,都是另一回事。这在很大程度上取决于对象是否表现得足够好用于单元测试目的(即它们不会引入很多额外的依赖项等),以及对象本身是否经过单元测试(即您需要能够信任这些对象100%)。模拟与真实对象的问题之前已在 stackflow 上解决,因此请搜索 unittest 标签。
于 2008-10-28T22:16:17.443 回答
2
制作一个测试访问者对象并让它访问事物....测试它访问了正确的事物。
于 2008-10-28T21:02:18.373 回答
2
您可以创建模拟对象并让访问者访问它们,然后创建模拟访问者并测试是否执行了正确的操作。
于 2008-10-28T21:05:07.027 回答