小编Jaf*_*iat的帖子

类型不符合“可编码”协议

我有一个名为 Event 的类,我想让它成为可编码的:

class Event: Codable {
    let name: String
    let action: String
    let data: [String: Any]?

    enum CodingKeys: String, CodingKey {
        case name
        case action
        case data
    }

    init(name: String, action: String, data: [String: Any]?) {
        self.name = name
        self.action = action
        self.data = data
    }

    required init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        self.name = try values.decode(String.self, forKey: .name)
        self.action = try values.decode(String.self, forKey: .action)
        let eventDataAsJSONString = try values.decode(String.self, forKey: .data)
        if let …
Run Code Online (Sandbox Code Playgroud)

ios swift codable

9
推荐指数
1
解决办法
2353
查看次数

如何快速测试框架中使用的核心数据模型

我正在编写一个快速的框架,并且正在使用来自“ pod lib create”命令的模板。在开发窗格中,我已经创建了核心数据模型文件,并且在框架中使用了核心数据。现在我想为此编写单元测试。这是我的单元测试课程代码:

import XCTest
import CoreData
@testable import MyFramework

class MyClassTests: XCTestCase {

    var testPersistentContainer: NSPersistentContainer?

    override func setUp() {
        let persistentStoreDescription = NSPersistentStoreDescription()
        persistentStoreDescription.type = NSInMemoryStoreType

        let container = NSPersistentContainer(name: "MyCoreDataModelFileName")
        container.persistentStoreDescriptions = [persistentStoreDescription]
        container.loadPersistentStores { (storeDescription, error) in
            if let error = error {
                fatalError(error.localizedDescription)
            }
        }

        self.testPersistentContainer = container
    }

    override func tearDown() {

    }

    func testSomething() {
        // the persistent container I'm trying to use is nil
        XCTAssertNotNil(self.testPersistentContainer)
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道出了什么问题,问题是测试目标找不到我的核心数据模型文件,并且当我在示例应用程序目标中创建一个具有适当名称的文件时,上述测试通过了。但

测试框架核心数据模型的正确方法是什么?

unit-testing core-data ios swift

5
推荐指数
0
解决办法
86
查看次数

标签 统计

ios ×2

swift ×2

codable ×1

core-data ×1

unit-testing ×1