簡體   English   中英

測試來自 swift package 的本地化字符串

[英]Test localized strings from swift package

在我的應用程序的主要部分中,我們有 localizable.strings 文件,然后我們將我們的應用程序模塊化為包,並希望測試 viewModel 中的計算屬性是否返回正確的字符串。

視圖模型:

open class ScheduleHeaderViewModel {
    public var headingLabel: String {
        NSLocalizedString("schedule.header.title", comment: "Heading label")
    }
}

考試:

class ScheduleHeaderViewModelTests: XCTestCase {
    private let store = AppStoreMock(
        initial: .mock(),
        reducer: AppState.reducer, middlewares: []
    )
    private let device = UIDeviceMock()
    private var viewModel: ScheduleHeaderViewModel!

    override func setUp() {
        viewModel = ScheduleHeaderViewModel(store: store, device: device)
    }

    override func tearDown() {
        store.reset()
        device.reset()
    }


    func testHeadingLabel() {
        XCTAssertEqual(viewModel.headingLabel, "schedule.header.title")
    }
}

.strings 文件

"schedule.header.title" = "SCHEDULE";

目前測試通過但它返回“schedule.header.title”並且應該返回“SCHEDULE”

有沒有辦法做到這一點?

如果我使用完整的方法,它對我有用: NSLocalizedString("key", bundle: Bundle.module, value: "value", comment: "comment") 我認為添加Bundle.module是它需要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM