def test_add2(self, mock_add2): count = modular.Count() mock_add2.return_value = 20 mock_add2.side_effect = count.add1 result = modular.Count().add2(1, 2) count.add2.assert_called_once_with(1, 2) count.add2(0, 1) count.add2(1, 2) count.add2.assert_called_with(1, 2) count.add2.assert_any_call(1, 2) param1 = mock.call(1, 2) param2 = mock.call(0, 1) count.add2.assert_has_calls([param1, param2], any_order=False) count.add2.assert_has_calls([param2, param1], any_order=True) print(count.add2.called) print(count.add2.call_count) print(count.add2.call_args) print(count.add2.call_args_list) print(count.add2.method_calls) print(count.add2.mock_calls) count.add2.reset_mock() print(count.add2.called) print(count.add2.call_count) print(count.add2.call_args) print(count.add2.call_args_list) print(count.add2.method_calls) print(count.add2.mock_calls) self.assertEqual(3, result) print('测试通过')
def test_add(self, mock_add): #2 count = modular.Count() mock_add.return_value = 2 #3 mock_add.side_effect = modular.add_def2 result = count.add(8, 5) print(result) self.assertEqual(result, 13)
def test_add(self, mock_add_def, mock_add): #参数的顺序与装饰的顺序是反的,与self是相同的 count = modular.Count() mock_add_def.return_value = 1 #3 mock_add.return_value = 2 #3 result1 = count.add(8, 5) result2 = modular.add_def(8, 5) print(result1, result2) self.assertEqual(result1, 13) self.assertEqual(result2, 13)
def test_add(self,mock_add_def,mock_add): # 注意:此处参数的顺序 和 装饰器的顺序正好相反!!! count = modular.Count() mock_add_def.return_value = 1 mock_add.return_value = 13 result1 = count.add(8,5) result2 = modular.add_def(8,5) print(result1,result2) self.assertEqual(result1,13) self.assertEqual(result2,13)
def test_add1(self): count = modular.Count() count.add1 = mock.Mock(return_value=10) count.add1 = mock.Mock(side_effect=count.add2) res = count.add1(3, 3) self.assertEqual(9, res)