Python?????????????
???????????? ???????[ 2014/5/26 13:33:36 ] ????????Python ??????? ????????????
????pythonд???????????????unittest??mock???????????????????coverage????????nose?????е????????????????????γ??汾?????????????????????????????顣
????Unittest
????unittest?????????????????
????????????unittest.TestCase
????????????????????????test???????????????????????????У??????
???????????????setUp/tearDown???????case?????/?????У?setUpClass/tearDownClass????@classmethod??????????????????????????
?????????????main???????????unittest.main()???????????python??????????
????Mock
???????????????????????mock????????????????????
????1. Mock?????????????кü???????????????????????????????????????
def multiple(a?? b):
return a*b
class TestProducer(unittest.TestCase):
def setUp(self):
self.calculator = Calculator()
@mock.patch('multiple')
def test_multiple(self?? mock_multiple):
mock_multiple.return_value = 3
self.assertEqual(multiple(8?? 14)?? 3)
|
????2. Mock???????????????
class Calculator(object):
def add(self?? a?? b):
return a+b
class TestProducer(unittest.TestCase):
def setUp(self):
self.calculator = Calculator()
@mock.patch.object(Calculator?? 'add')
def test_add(self?? mock_add):
mock_add.return_value = 3
self.assertEqual(self.calculator.add(8?? 14)?? 3)
|
class TestProducer(unittest.TestCase):
@mock.patch.object(Calculator?? 'add')
def test_effect(self?? mock_add):
mock_add.side_effect = [1?? 2?? 3]
self.assertEqual(self.calculator.add(8?? 14)?? 1)
self.assertEqual(self.calculator.add(8?? 14)?? 2)
self.assertEqual(self.calculator.add(8?? 14)?? 3)
|
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11