|
|
1
1
创建一个测试访问者对象并使其访问对象….测试它访问了正确的东西。 |
|
|
2
3
单元测试并不是真正的测试模式,而是测试方法和函数的正确实现。访问者模式是一个特定的类结构,对于每个涉及的类(具体的访问者和具体元素),您都需要单元测试。 当您确信类方法的行为正常时,您也可以使用单元测试框架来开发集成测试。不要马上开始集成测试:你会发现你开发了很多集成测试,这些测试实际上是测试特定类的行为,即单元测试。 无论您需要模拟对象还是可以使用“真实”对象都是另一回事。这在很大程度上取决于对象在单元测试中的表现是否足够好(例如,它们不会引入很多额外的依赖项等),以及对象本身是否经过单元测试(即,您需要100%地信任这些对象)。模拟对象和真实对象的问题之前已经在StackFlow上解决过,所以搜索UnitTest标签。 |
|
|
3
2
你可以创造 mock objects 让您的访问者访问它们,然后创建模拟访问者,并测试是否执行了正确的操作。 |