Почему не работает второй unittest? Python

Изучаю Python. Пытаясь разобраться с unittest.TestCase столкнулся с тем, что на втором тесте выдает ошибку:

ERROR: test_if_work_get_new_raise (main.EmployeeTestCase) Traceback (most recent call last): ... , line 24, in test_if_work_get_new_raise new_raise = get_new_raise() NameError: name 'get_new_raise' is not defined

Не могу понять, что делаю не так.

Первый файл с кодом employee.py:

class Employee:
    """Прописываем функции класса."""

    def __init__(self, first, last, salary):
        """Прописываем создание объекта с атрибутами: имя, фамилия и зп.
        Также вывожу данные в одно предложение для удобства"""
        self.first_name = first.lower()
        self.last_name = last.lower()
        self.salary = int(salary)
        self.full_name = f"{self.first_name.title()} {self.last_name.title()}"
        self.full_name += f" имеет {self.salary}."

    def get_new_raise(self, grow_raise=5000):
        """Увеличиваем числовой показатель на условное значение."""
        self.salary += grow_raise
        return self.salary

При чем, если пытаюсь в этом файле создавать объект, функции работают исправно.

Второй файл test_employee.py:

import unittest
from employee import Employee


class EmployeeTestCase(unittest.TestCase):
    """Тесты для класса Employee."""

    def test_enter_first_last_salary(self):
        """Тестирую создание объекта в классе."""

        first = 'дима'
        last = 'маркин'
        salary = 25_000

        test_sentence = ("Дима Маркин имеет 25000.")

        my_employee = Employee(first, last, salary)
        self.assertEqual(my_employee.full_name, test_sentence)

    def test_if_work_get_new_raise(self):
        """Работает ли функция увеличения числа?"""

        self.my_employee = Employee('дима', 'маркин', 25_000)
        new_raise = get_new_raise()
        self.assertEqual(new_raise, 30000)

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

Помогите разобраться.


Ответы (0 шт):