2016-04-29 72 views
4

是否可以在不同设备语言环境下测试测试结果?XCTest在不同语言环境下

我想测试方法,该方法是使用

NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0]; 

为了确定当前的设备语言。现在在我的XCTest中,我想查看在例如“en-gb”而不是“en”时发生的情况,或者只是测试完全不同的语言。

回答

0

NSLocalizedString方法在启动时为快速查找加载适当的字符串,因此启动后无法移动它。你可以做的是用一个语言环境运行一个测试套件,然后在不同的语言环境中运行相同的测试套件。

您可以通过选择“运行”操作,“选项”选项卡和选择“应用程序语言和应用程序区域”来设置在“方案编辑器”中运行的应用程序的区域设置。两者都默认为系统设置,但您可以更改它们,包括使用一些便捷的假RTL和假双倍长度语言。 (如果测试操作不会因任何原因而继承这些设置,那么也可以设置命令行参数来改变用于排序语言和区域首选项的默认值查找,无论如何,这对于编写脚本来说可能是需要的。 )