SwiftbookTeam5 / MdEditor

0 stars 0 forks source link

Поправить TaskManagerTests #66

Closed aleksandra-riazanova closed 8 months ago

aleksandra-riazanova commented 9 months ago

Ответ от преподавателя:

Замечания:

  1. func makeSUT(taskList: [Task] = [Task]()) -> ITaskManager - мы тестируем конкретные классы
  2. Не надо расширять тестируемые классы ради тестов, тестовые данные нужно готовить в тестах и размещать по месту, а это плохая практика:
// MARK: - TaskStub

extension Task {

    static func getTasksStub() -> [Task] {
        let tasks = [
            Task(title: "01 Task", completed: true),
            Task(title: "02 Task"),
            Task(title: "03 Task", completed: true),
            Task(title: "04 Task"),
        ]

        return tasks
    }
}

// MARK: - ImportantTaskStub

extension ImportantTask {

    static func getImportantTasksStub() -> [ImportantTask] {
        let tasks = [
            ImportantTask(
                title: "01 Task",
                taskPriority: .medium
            ),
            ImportantTask(
                title: "02 Task",
                taskPriority: .low
            ),
            ImportantTask(
                title: "03 Task",
                taskPriority: .high
            )
        ]

        return tasks
    }
}

Памятка по выполнению задания:

TaskManagerTests Проверяем инициализацию

Каждый метод должен быть проверен

Тестовые данные можно создавать/хранить

При этом важно помнить про дублирование кода, если методы используют одинаковые тестовые данные, то лучше выносить их за методы.