Ошибка с декодером на CI - Запустите тесты для iOSIOS

Программируем под IOS
Ответить
Anonymous
 Ошибка с декодером на CI - Запустите тесты для iOS

Сообщение Anonymous »

У меня есть декодирующий тест модели данных, которая работает нормально и без ошибок в XCode, но на сервере не удается, и я не могу найти причину, вы можете вы Дай мне руку, если кто -то знает, как я могу идентифицировать/решить сбой на сервере? Я прикрепляю изображение журнала тестов CI, где вы можете увидеть ошибку и рассматриваемый код.
Я заранее ценю любое мнение по этому вопросу. Спасибо! < /P>

Код: Выделить всё

SFBConfigModel
:

Код: Выделить всё

internal struct SFBConfigModel: Codable {
var config: SFBIntervalModel
var binding: SFBBindingModel?

private enum CodingKeys: String, CodingKey {
case config
case binding
}

init(
config: SFBIntervalModel,
binding: SFBBindingModel?
) {
self.config = config
self.binding = binding
}

init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)

// Searches for the config value which LocalStorage can support.
self.config = try container.decode(SFBIntervalModel.self, forKey: .config)

if let binding = try? container.decode(SFBBindingModel.self, forKey: .binding) {
self.binding = binding
}
}

}
< /code>
el test: < /p>
            context("when creating the model with a invalid json") {
it("then you get a decode error") {
// Given
let JSONData = """
{
"config": {
"interval_time_in_minutes": "thisIsAnUnexpectedTypeOfValue"
},
"binding": {
"seed": "thisIsOtherFakeSeed",
"device_id": "thisIsOtherFakeDeviceID"
}
}
""".data(using: .utf8)!
let decoder = JSONDecoderMock()
var model: SFBConfigModel!

do {
// When
model = try decoder.decode(
SFBConfigModel.self,
from: JSONData
)
} catch {
// Then
expect("\(error)").to(contain("JSONDecoderErrorDomainMock"))
}
}
}
< /code>
JSONDecoderMock
:
private class JSONDecoderMock: JSONDecoder {
var decodeCalled = false

override func decode(_ type: T.Type, from data: Data) throws -> T where T : Decodable {
decodeCalled = true
throw NSError(domain: "JSONDecoderErrorDomainMock", code: -1, userInfo: nil)
}
}
< /code>
Image of the error on the server that does not occur locally:
Изображение

I have changed the way of decoding, I added a mock but the error persists even though it does not play locally.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ts-for-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»