Example #1
0
class CarTest(unittest.TestCase):
    """Car klassini tekshirish uchun test"""
    def setUp(self):
        make = "GM"
        model = "Malibu"
        year = 2020
        self.price = 40000
        self.km = 10000
        self.avto1 = Car(make, model, year)
        self.avto2 = Car(make, model, year, price=self.price)

    def test_create(self):
        # Qiymatlar mavjudligini assertIsNotNone metodi bilan tekshiramiz
        self.assertIsNotNone(self.avto1.make)
        self.assertIsNotNone(self.avto1.model)
        self.assertIsNotNone(self.avto1.year)
        # Qiymat mavjud emasligini assertIsNone metodi bilan tekshiramiz
        self.assertIsNone(self.avto1.price)
        # Qiymat tengligini assertEquals metodi bilan tekshiramiz
        self.assertEqual(0, self.avto1.get_km())
        # avto2 narhini tekshiramiz
        self.assertEqual(self.price, self.avto2.price)

    def test_set_price(self):
        self.avto2.set_price(self.price)
        self.assertEqual(self.price, self.avto2.price)

    def test_add_km(self):
        # Musbat qiymat berib ko'ramiz
        self.avto1.add_km(self.km)
        self.assertEqual(self.km, self.avto1.get_km())
        # Manfiy qiymat berib ko'ramiz
        new_km = -5000
        try:
            self.avto1.add_km(new_km)
        except ValueError as error:
            self.assertEqual(type(error), ValueError)

    def test_get_info(self):
        avto1_info = 'GM Malibu, 2020-yil, 0km yurgan.'
        self.assertEqual(avto1_info, self.avto1.get_info())
        # avto1 narhi va km o'zgartiramiz
        self.avto1.set_price(50000)
        self.avto1.add_km(20000)
        avto1_info = 'GM Malibu, 2020-yil, 20000km yurgan. Narhi: 50000'
        self.assertEqual(avto1_info, self.avto1.get_info())
Example #2
0
class MyTestCase(unittest.TestCase):
    # вызывается перед каждым тестом
    def setUp(self):
        print('test setUp')
        self.car = Car("car.jpg", "toyota", 756.7, 4)

    # вызывается после каждого теста
    def tearDown(self):
        print('test tearDown')

    # def test_something(self):
    #     print('run test: test_something')
    #     self.assertEqual(True, True)

    def mocked_get_info(self):
        return "???"

    # заменяем метод get_info класса Car из модуля cars на свою заглушку
    @patch('cars.Car.get_info', mocked_get_info)
    def test_get_info(self):
        print('run test: test_get_info')
        self.assertEqual(self.car.get_info(), "???")