不同语言环境下的XCTest

时间:2016-04-29 07:18:27

标签: xcode xctest

是否可以在不同的设备区域测试测试结果?

我想测试使用

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

确定当前的设备语言。现在,在我的XCTest中,我想检查一下当我进入时会发生什么。" en-gb"而不仅仅是" en",或者只是测试完全不同的语言。

1 个答案:

答案 0 :(得分:0)

NSLocalizedString方法在启动时加载适当的字符串以便快速查找,因此启动后无法移动它。您可以做的是运行具有一个区域设置的测试套件,然后在不同的区域设置中运行相同的测试套件。

您可以通过选择“运行”操作,“选项”选项卡以及选择“应用程序语言和应用程序区域”,在“方案编辑器”中设置应用程序运行的区域设置。两者都默认为系统设置,但您可以更改它们,包括使用一些方便的假RTL和伪双倍语言。

(如果Test动作由于某种原因没有继承这些设置,那么你也可以设置命令行参数来改变用于命令语言和区域首选项的默认查找。无论如何,这可能是编写脚本的必要条件。)