Как выполнить модульное тестирование при изменении вида? - PullRequest
0 голосов
/ 18 мая 2018

В настоящее время я пытаюсь протестировать некоторые простые функции:

class SampleViewController: UIViewController {

  @IBOutlet weak var sampleView: UIView!

  override func viewDidLoad() {
    super.viewDidLoad()   
  }
      func hideView() {
        sampleView.isHidden = true
      }

      func showView() {
        sampleView.isHidden = false
      }
}

Вот тестовые примеры:

import XCTest
@testable import unitUITestPractice

class unitUITestPracticeTests: XCTestCase {

  var sut: SampleViewController?

    override func setUp() {
        super.setUp()

       sut = SampleViewController()
    }

    override func tearDown() {
     sut = nil
        super.tearDown()
    }

  func test_hideView() {
    sut?.hideView()
    XCTAssertNil(sut?.sampleView)
  }

  func test_showView() {
    sut?.showView()
    XCTAssertNotNil(sut?.sampleView)
  }
}

Проблема в том, что я получаю сообщение об ошибке:

Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании Необязательное значение

при попытке запустить функцию в тестовом случае:

func hideView() {
    sampleView.isHidden = true //error here
  }

Кто-нибудь знает лучший способ проверить, изменился ли вид?

...