Unit testing 如何模拟SUT创建的对象
假设我的SUT是一台BubbleMachine,它自己创建一些Bubble对象的实例供内部使用。但是,我希望它使用我的MockBubble来代替。。我该怎么办 解决方案:Unit testing 如何模拟SUT创建的对象,unit-testing,mocking,Unit Testing,Mocking,假设我的SUT是一台BubbleMachine,它自己创建一些Bubble对象的实例供内部使用。但是,我希望它使用我的MockBubble来代替。。我该怎么办 解决方案: 使用我可以传递给BubbleMachine的中间类BubbleFactory。这样我就可以给它一个模拟泡泡工厂 当我使用允许它的lang时,在BubbleMachine上设置一些字符串,告诉它为它的Bubble对象实例化哪个类。例如,$bubbleMachine->setBubbleClass('path/to/MockBub
感谢理想情况下,如果您真的觉得需要模拟SUT创建的对象,那么请使用模拟工具来模拟。我认为这是最干净的解决方案,因为它不需要SUT中的任何额外复杂性(例如工厂、设置器等)