【发布时间】:2012-05-11 04:38:44
【问题描述】:
我的测试套件在对象 A 中调用 accepted。然后,该函数将为对象 B 调用 insert 一定次数,具体取决于我正在运行的测试。
我想验证insert 在每次测试中被调用的次数是否正确。我不认为我可以使用模拟来计算它,因为对象 A 在我的测试中不会碰到模拟。
我在 2 年前看到了这个问题: PHPUnit Test How Many Times A Function Is Called
使用全局变量进行计数并不理想,因为我的类中不应该有专门用于类的代码。
编辑
注意insert 是静态的可能会有所帮助。即使我模拟该类并指定我只想模拟该函数,它仍然会在模拟对象上调用new,这是我面临的另一个障碍。
回答 答案是不。我只是希望@zerkms 给出这个答案,因为他是帮助我的人,所以我可以接受。
我最终发现我只能使用一个对象,但确实遇到了另一个障碍: Why isn't PHPUnit counting this function as having ran?
【问题讨论】:
-
现在你明白为什么静态是邪恶的了 :-)
-
我只是在研究这个时看到了一些对静态方法的厌恶。制作一个空对象然后在其上调用实例方法是否正确?