【发布时间】:2016-01-13 04:02:48
【问题描述】:
我有一个 python Presenter 类,它有一个创建不同 Presenter 类的实例的方法:
class MainPresenter(object):
def showPartNumberSelectionDialog(self, pn):
view = self.view.getPartNumberSelectionDialog(pn)
dialog = SecondPresenter(self.model, view)
dialog.show()
我的意图是为我的应用程序中的每个窗口编写一个单独的 Presenter 类,以保持事情井井有条。不幸的是,我发现很难测试showPartNuberSelectionDialog 方法,尤其是测试dialog.show() 是否被调用,因为实例是在方法调用中创建的。因此,即使我使用 python 的模拟框架修补 SecondPresenter,它仍然无法捕获对本地 dialog 实例的调用。
所以,我有两个问题:
- 如何更改我的方法以使此代码更具可测试性?
- 测试这样的简单代码块是否被认为是一种好习惯?
【问题讨论】:
-
你当然可以在这里修补 SecondPresenter。
标签: python unit-testing dependencies