Нужно ли создавать класс модульного теста для Struct в Swift? - PullRequest
0 голосов
/ 25 февраля 2020

Интересно, есть ли необходимость в создании класса Unit Test Case или даже отдельного метода модульного тестирования для тестирования его модели - это Struct?

Я пытаюсь следовать TDD, чтобы создать функцию регистрации для моего мобильного приложения. На листе бумаги я набросал, что мне нужно создать:

  • класс ViewController,
  • класс Presenter,
  • класс Validator для проверки значений полей модели например, формат адреса электронной почты, длина пароля и т. д. c ...
  • класс WebService для отправки HTTP-запроса с данными пользователя,
  • Структура модели запроса формы регистрации. Структура Model, которая будет отправлена ​​на мой сервер.
  • Структура Model Registration Response. Структура, которая будет использоваться для преобразования ответа сервера в структуру Swift.

Интересно, есть ли необходимость в создании класса модульного теста или даже отдельного метода модульного теста для тестирования его модели - это структура? Структуры не имеют сбойных инициализаторов. А поскольку структура Swift имеет элементный инициализатор, на самом деле проверять нечего ...

Например. RegistrationModel.swift - отдельный файл:

struct SignupModel {
    let firstName: String
    let lastName: String
    let email: String
    let password: String
}

Действительно ли мне нужно создать метод тестирования:

    func testInit_SignupModelExists() {
       let signupModel = SignupModel(firstName:"John", lastName: "Doe", email: "test@test.com", password: "12345678")


       XCTAssertNotNil(signupModel)
    }

Вы, ребята, создаете этот вид юнит-тестов, когда следите за TDD?

1 Ответ

1 голос
/ 25 февраля 2020

Вам необходимо проверить свою функциональность с помощью модульных тестов. Здесь нет никакой функциональности.

Если ваша функция init может вернуть ноль, вам может понадобиться. Но в этом случае ваш инициализатор никогда не возвращает никакого значения, кроме вашего create. Поэтому мы не можем сказать, что это функциональность.

...