Если вы не хотите уменьшить уровень доступа myText
с private
до internal
(по умолчанию, если вы его не указали), прямой способ проверить его не существует.
Единственное предложение, которое я должен проверить косвенно, это использовать тестирование снимков .
Вы можете написать два теста снимков, по одному для каждого значения .someValue
изваш MYViewModel
.
Еще один способ сделать тестирование - и ремонтопригодность - вашего взгляда простым - ввести тип значения ViewConfiguration
, следуя шаблону скромное представление .
В принципе, вы можете иметь struct
между MYViewModel
и MyCell
, который описывает каждое из свойств представления для MyCell
.
struct MyCellViewConfiguration {
let textFieldBackgroundColor: UIColor
}
extension MYViewModel {
var viewConfiguration: MyCellViewConfiguration = {
return MyCellViewConfiguration(
textFieldBackgroundColor: someValue ? .red : .clear
)
}
}
extension MyCell {
func setup(with configuration: MyCellViewConfiguration) {
myText.backgroundColor = configuration.textFieldBackgroundColor
}
}
Код в setup(with configuration: MyCellViewConfiguration)
такойпросто - просто задание 1-к-1, которое вы можете получить без тестирования.
Затем вы можете написать тест для вычисления MyCellViewConfiguration
из MYViewModel
.