Признаюсь, был не прав. Только что вернулся из поездки в 1600+ миль. Приходилось ездить по дорогам со светофорами и ограничением в 55 и 65 миль/ч (особенно в Лас Вегасе).
И я так раньше считал. Лет пять назад качество снимков с телефонов поднялось очень сильно, особенна на айфонах. Таскать с собой всегда еще один девайс кроме телефона уже никому, кроме профессиональных фотографов, не хочется.
func testGetSourceUrl() {
let mock = MockUrlSessionProtocol()
let urlStr = "http://riis.com"
let url = URL(string:urlStr)!
// Arrange
stub(mock) { (mock) in
mock.getSourceUrl(apiUrl: urlStr).thenReturn(url)
}
// Act and Assert
XCTAssertEqual(mock.getSourceUrl(apiUrl: urlStr), url)
XCTAssertNotEqual(mock.getSourceUrl(apiUrl: urlStr), URL(string:"http://google.com"))
verify(mock, times(2)).getSourceUrl(apiUrl: urlStr)
}
Такими тестами вы проводите не юнит тестирование класса UrlSession, а проверяете фреймворк Cuckoo на предмет сможет ли он замокать метод или нет.
Правильное юнит тестирование было бы в том случае, если бы вы замокали класс URLSession и заинжектили его в UrlSession и далее проверяли бы логику написанного вами класса UrlSession.
Я думаю, следующая статья от меня так или иначе будет подробнее раскрывать эту архитектуру.
Этот подход используется практически на всех наших новых проектах («новый» — возраст от полугода), поэтому попросту описать один из них будет довольно легко.
Иногда описание квеста не совпадает с самим квестом.
В некоторых квестах не показываются цифры. Например, квест где нужно определить пропущенную цифру — все 4 центральные квадрата пустые и попробуй пройти квест :)
Такими тестами вы проводите не юнит тестирование класса UrlSession, а проверяете фреймворк Cuckoo на предмет сможет ли он замокать метод или нет.
Правильное юнит тестирование было бы в том случае, если бы вы замокали класс URLSession и заинжектили его в UrlSession и далее проверяли бы логику написанного вами класса UrlSession.
Толк есть — с выходом следующих iOS ваш девай будет меньше тормозить, чем девайсы прошлых поколений.
Если сложить бакалавров и магистров, то получится ~56%.
Все еще ждем.
В некоторых квестах не показываются цифры. Например, квест где нужно определить пропущенную цифру — все 4 центральные квадрата пустые и попробуй пройти квест :)