12
我的項目中有兩個不同的模塊。一個是一個配置文件,其中包含如何在Python中修補常量
LOGGING_ACTIVATED = False
此常數的第二模塊中使用(可以稱之爲主)像下面這樣:
if LOGGING_ACTIVATED:
amqp_connector = Connector()
在我的測試類主要模塊我想修補這個常數與價值
True
不幸的是,以下不起作用
@patch("config.LOGGING_ACTIVATED", True)
也不這項工作:
@patch.object("config.LOGGING_ACTIVATED", True)
有誰知道如何從不同的模塊修補不變?
讓我失望吧,我正在忙着試圖弄清楚'patch()'是否能夠修補'__main__'模塊,以防萬一這就是「call it main」的意思。 – 2014-12-02 15:28:11
@SteveJessop:備案:是的。就Python而言,'__main__'只是另一個模塊,因此'patch('__ main __。somename',somevalue)'有效。 – 2014-12-02 15:29:20
感謝您的快速回答。 if語句確實在模塊級別上。在我的測試課上,我導入了模塊。所以沒有機會重寫單個測試方法? – 2014-12-02 15:35:54