старайтесь находить короткие варианты и используйте контекст тестируемого класса, например init легко заменит initialization или createImportantTask в ImportantTaskTest
избегать дублирования кода - использование метода makeSUT() для подготовки, другие приватные методы вычисленний и свойства
в ImportantTaskTest есть что вынести за тестируемые методы
в ImportantTaskTest немного странный тестовый метод:
final class ImportantTaskTests: XCTestCase {
func test_init_withTitleAndLowPriority_taskShouldHaveCorrectTitleAndPriorityAndNotBeCompleted() {
// arrange
let sut = ImportantTask(title: title, taskPriority: .low)
// act
let testTitle = sut.title
let testPriority = sut.taskPriority
let isCompleted = sut.completed
// assert
XCTAssertEqual(testTitle, title, "Имя новой задачи не корректно")
XCTAssertEqual(testPriority, .low ,"Приоритет новой задачи не корректен")
XCTAssertFalse(isCompleted, "Новая задача не должна быть выполненной")
}
}
// MARK: - TestData
private extension ImportantTaskTests {
var title: String {
"Important Test Task"
}
}
Памятка выполнения задания:
ImportantTaskTests
Проверяем чистоту инициализации задачи
наименвание
статус выполнения
приоритет
Также можно проверить переключение статуса выполнения
Обязательно проверить формирование даты крайнего срока выполнения с каждым приоритетом (либо саму дату, либо через количетсво дней до срока)
Ответ от преподавателя:
Замечания:
старайтесь находить короткие варианты и используйте контекст тестируемого класса, например init легко заменит initialization или createImportantTask в ImportantTaskTest
избегать дублирования кода - использование метода makeSUT() для подготовки, другие приватные методы вычисленний и свойства
в ImportantTaskTest немного странный тестовый метод:
как вариант:
Памятка выполнения задания:
ImportantTaskTests Проверяем чистоту инициализации задачи
Также можно проверить переключение статуса выполнения
Обязательно проверить формирование даты крайнего срока выполнения с каждым приоритетом (либо саму дату, либо через количетсво дней до срока)