不同语言环境下的 XCTest
Posted
技术标签:
【中文标题】不同语言环境下的 XCTest【英文标题】:XCTest under different locale 【发布时间】:2016-04-29 07:18:27 【问题描述】:是否可以在不同的设备语言环境下测试测试结果?
我想测试正在使用的方法
NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];
确定当前的设备语言。现在在我的 XCTest 中,我想检查当我在例如“en-gb”而不是“en”时会发生什么,或者只是测试一种完全不同的语言。
【问题讨论】:
【参考方案1】:NSLocalizedString
方法会在启动时为键加载适当的字符串以进行快速查找,因此您无法在启动后对其进行转换。您可以做的是在一个语言环境中运行一个测试套件,然后在不同的语言环境中运行相同的测试套件。
您可以通过选择运行操作、选项选项卡并选择应用程序语言和应用程序区域来设置在方案编辑器中运行的应用程序的区域设置。两者都默认为系统设置,但您可以更改它们,包括使用一些方便的假 RTL 和假双长度语言。
(如果 Test 操作由于某种原因没有继承这些设置,那么您还可以设置命令行参数来更改用于排序语言和区域首选项的默认查找。无论如何,这对于脚本目的来说可能是可取的。)
【讨论】:
以上是关于不同语言环境下的 XCTest的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Notepad++和GCC搭建Windows下的C语言学习环境