[英]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.