UIImage неожиданно обнаружил нулевую ошибку iOS UnitTest для Dynami c Framework - PullRequest
0 голосов
/ 04 февраля 2020

Я добавляю юнит-тесты для своего класса в Dynami c Cocoa Touch Framework.

class DetailControllerTests: QuickSpec {

    override func spec() {


        describe("View must load") {

            context("if I init my view controller") {

                it("should load") {

                    let viewModel = MyViewModel()
                    let viewController = DetailController(viewModel: viewModel)
                    viewController.beginAppearanceTransition(true, animated: true)
                    viewController.endAppearanceTransition()

                    expect(viewController.isViewLoaded).to(beTrue())
                }

            }
        }

    }
}

Пока это такой базовый c тест. В другом dynamic cocoa-touch framework есть класс ImageHelper с именем Shared. Так что мой viewModel использует некоторую переменную ImageHelper, и когда я хочу использовать ее, возникает ошибка, как описано ниже.

Неустранимая ошибка: неожиданно обнаружен ноль при развертывании Необязательное значение: файл {ссылочный файл ImageHelper находится в Shared Framework }, строка 76

Итак, аварийная функция здесь;

private static func getImage(for name: String) -> UIImage {
        return UIImage(named: name, in: Bundle.main, compatibleWith: nil)!
    }

Я получил пользовательскую ошибку UIFont, подобную этой, и возникла проблема с незарегистрированным, потому что я предполагаю когда я запускаю свои тесты, UIFonts & UIImages не регистрируется, поэтому всегда есть cra * sh. Я решил UIFont проблему с помощью вспомогательной registerFont функции для всех UIFont.

Как мне решить мою проблему? Есть ли какая-либо функция регистрации для UIImage?

Есть ли способ зарегистрировать UIImages до того, как тест не начался?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...