单元测试Python类

时间:2019-12-16 22:06:05

标签: python unit-testing python-unittest

class Car:
 def __init__(self):
     self.__engine_size = 2.0
     self.__colour = str
 @property # getter
 def engine_size(self):
     return self.__engine_size
 @property # getter
 def colour(self):
     return self.__colour
 @colour.setter
 def colour(self, value):
     self.__colour = value
 def start(self):
     return 'Engine started!!....ggggrrrrrr'
 def stop(self):
     return 'Engine stopped!!...'

伙计们,试图对这段代码进行测试,但想不出办法。看下面我做了什么,并建议其他已知的方法。

import unittest

from car import __init__

class TestCarMethods(unittest.TestCase):

    # case assertion no1
    '''

    '''

    def test_car_colour(self):

        # arrange
        __engine_size = 3.2
        __colour = 'red'

        # act
        result = ('red')

        # assert
        self.assertEqual(result, 'red')



       if __name__ == '__main__':
         unittest.main()

1 个答案:

答案 0 :(得分:1)

您需要创建并使用您的类的实例。

class TestCarMethods(unittest.TestCase):
    def setUp(self):
        self.car = Car()

    def test_car_color(self):
        self.assertEqual(self.car.color, 'red')  # If the default is, in fact, red

    def test_set_color(self):
        self.car.color = 'blue'

        self.assertEqual(self.car.color, 'blue')

    def test_start(self):
        self.assertEqual(self.car.start(), 'Engine started!!....ggggrrrrrr')