Модульное тестирование пользовательского tableviewcell в xib-файле - PullRequest
0 голосов
/ 27 июня 2018

У меня есть класс контроллера представления с табличным представлением в раскадровке. В другом отдельном файле xib у меня есть настраиваемая ячейка табличного представления с некоторыми атрибутами, такими как представление изображения, метки ... и т. Д. В классе настраиваемой ячейки табличного представления.

Теперь мне нужно написать тестовый блок для проверки этой пользовательской ячейки и ее атрибутов. Я пробовал следующее,

import XCTest
@testable import Citizens_Bank

class InvestmentTableViewCellTests: XCTestCase {

    var newsVC: NewsViewController!

    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the  invocation of each test method in the class.

    }

   func testCustomViewContainsAView() {
    let bundle = Bundle(for: NewsDetailsTableViewCell.self)
    guard let _ = bundle.loadNibNamed("NewsDetailsTableViewCell", owner: nil)?.first as? UIView else {
        return XCTFail("CustomView nib did not contain a UIView")
     }
  }

  func testCustomCell() {
     let customCell: NewsDetailsTableViewCell = accountsVC.myTableView.dequeueReusableCell(withIdentifier: "newsDetailsCell") as! NewsDetailsTableViewCell
    XCTAssertNotNil(customCell, "No Custom Cell Available")
  }
}

Функция тестового примера testCustomcell вылетает с этой ошибкой в ​​журнале консоли «Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения». Как я могу проверить свою собственную ячейку таблицы и ее атрибуты? Заранее спасибо.

1 Ответ

0 голосов
/ 27 июня 2018

Первое использование:

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let yourView = storyboard.instantiateViewController(withIdentifier: "yourView") as! yourView

, затем позвоните

 let customCell = yourView.myTableView.dequeueReusableCell(withIdentifier: "yourView") as! NewsDetailsTableViewCell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...