-
Notifications
You must be signed in to change notification settings - Fork 693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sprint_07 #720
base: project_sprint_3_start
Are you sure you want to change the base?
Sprint_07 #720
Conversation
…з систему контроля версий
Изменения принта в делегате
|
||
} | ||
|
||
@IBOutlet weak var activityIndicator: UIActivityIndicatorView! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Стоит организовывать код следующим образом:
- Публичные переменные
- IBOutlet
- Приватные переменные
- Публичные методы(сначала initы, overrideы, и потом остальные)
- Приватные методы
Подробнее почитать можно тут: Организация кода
imageView.layer.cornerRadius = 20 | ||
} | ||
|
||
func showAlert(quizResult quiz: QuizResultsViewModel) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Советую сделать так:
В протоколе контроллера сделать функцию showAlert(model: AlertModel)
, в реализации которого будет только строка alertPresenter?.show(alertModel: model)
. А создание AlertModel и вызов этой функции перенести в презенте. Так мы унифицируем показ любых алертов и для того, чтобы показать какой-то новый алерт, нужно будет всего-лишь добавить новый вызов функции showAlert
в презентере.
Также можно будет сделать некоторые функции презентера приватными, так как не нужно будет их вызывать извне, а вызов будет происходить внутри самого презентера
Вопрос: Рейтинг этого фильма больше чем 6? | ||
Ответ: НЕТ | ||
*/ | ||
struct ViewModel { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Также стоит вынести в отдельный файл или в QuestionFactory
import XCTest // не забывайте импортировать фреймворк для тестирования | ||
@testable import MovieQuiz // импортируем приложение для тестирования | ||
|
||
struct StubNetworkClient: NetworkRouting { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Стабы и моки лучше хранить в отдельных файлах рядом с файлами самих тестов для уменьшения размера файла теста и упрощения читаемости его содержимого
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Файл стоит назвать MovieQuizUITests
без единицы на конце
app = nil | ||
} | ||
|
||
func testExample() throws { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Этот тест можно удалить, так как он пустой
XCTAssertTrue(indexLabel.label == "1/10") | ||
} | ||
|
||
func testLaunchPerformance() throws { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тоже можно удалить
Готовый 7 спринт, с успешно выполненными тестами