1 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
一個(gè)常見的問題是模擬函數(shù)的使用過于復(fù)雜。您幾乎可以像對(duì)待另一個(gè)類方法一樣對(duì)待它們。在您的情況下,abstractmethod裝飾器可能會(huì)造成混亂。
這接近您可能需要的東西。
class MockSharedFunctions(SharedFunctions):
def one_important_universal_function(**args):
return 0
class TestSharedFunctions(unittest.TestCase):
def test_first_function(self):
mock = MockSharedFunctions()
mock_output = firstfunction(**args)
mock_stuff = mock.stuff
self.assertTrue(True)
self.assetEqual(mock_output, expected)
self.assetEqual(mock_stuff, expected)
def test_second_function(self):
mock = MockSharedFunctions()
mock.stuff = some_value
mock_output = second_function(**args)
self.assetEqual(mock_output, expected)
self.assertTrue(True)
if __name__ == "__main__":
unittest.main()
在這里,MockSharedFunctions您已經(jīng)在繼承SharedFunctions. 作為one_important_universal_function一個(gè)抽象方法,它需要被定義。
添加回答
舉報(bào)