代码之家  ›  专栏  ›  技术社区  ›  Nazgob

单元测试访问者模式架构

  •  6
  • Nazgob  · 技术社区  · 17 年前

    在我的一个应用程序中,我将访问者作为核心架构思想之一引入。我有几位参观者在用同样的东西做手术。现在,我应该如何测试它?我正在考虑的一些测试比单元测试要大一些(集成测试?无论如何)但我还是想做。你如何测试代码,比如来自维基艺术的C++样本? Visitor Pattern

    3 回复  |  直到 11 年前
        1
  •  1
  •   Keith Nicholas    17 年前

    创建一个测试访问者对象并使其访问对象….测试它访问了正确的东西。

        2
  •  3
  •   andreas buykx    17 年前

    单元测试并不是真正的测试模式,而是测试方法和函数的正确实现。访问者模式是一个特定的类结构,对于每个涉及的类(具体的访问者和具体元素),您都需要单元测试。

    当您确信类方法的行为正常时,您也可以使用单元测试框架来开发集成测试。不要马上开始集成测试:你会发现你开发了很多集成测试,这些测试实际上是测试特定类的行为,即单元测试。

    无论您需要模拟对象还是可以使用“真实”对象都是另一回事。这在很大程度上取决于对象在单元测试中的表现是否足够好(例如,它们不会引入很多额外的依赖项等),以及对象本身是否经过单元测试(即,您需要100%地信任这些对象)。模拟对象和真实对象的问题之前已经在StackFlow上解决过,所以搜索UnitTest标签。

        3
  •  2
  •   pkaeding    17 年前

    你可以创造 mock objects 让您的访问者访问它们,然后创建模拟访问者,并测试是否执行了正确的操作。

    推荐文章