Unittest в Python — пример 3

Напишите метод divider. Решение будет засчитано, если метод пройдёт ваши тесты.

Подсказка:

  • Делить на ноль по-прежнему нельзя.
  • Настроить исключение можно инструкцией raise НазваниеИсключения().
  • Тесты должны возвращать ОК.

Код:

import unittest


class Calculator:
    """Производит различные арифметические действия."""
    def divider(self, num1, num2):
        """Возвращает результат деления num1 / num2."""
        if num2 == 0:
            raise ZeroDivisionError('На ноль делить нельзя')
        return num1 / num2


class TestCalc(unittest.TestCase):
    """Тестируем Calculator."""
    # Подготовьте данные для теста
    @classmethod
    def setUpClass(cls):
        cls.calc = Calculator()

    def test_divider(self):
        act = TestCalc.calc.divider(8, 4)  # вызовите метод divider с аргументом
        self.assertEqual(act, 2, 'текст, если проверка провалена')


    def test_divider_zero_division(self):
        # Проверьте, что деление на 0 выбрасывает исключение 
        with self.assertRaises(ZeroDivisionError):
            TestCalc.calc.divider(5, 0)




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: