2016-04-29 58 views
4

是否可以在不同設備語言環境下測試測試結果?XCTest在不同語言環境下

我想測試方法,該方法是使用

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

爲了確定當前的設備語言。現在在我的XCTest中,我想查看在例如「en-gb」而不是「en」時發生的情況,或者只是測試完全不同的語言。

回答

0

NSLocalizedString方法在啓動時爲快速查找加載適當的字符串,因此啓動後無法移動它。你可以做的是用一個語言環境運行一個測試套件,然後在不同的語言環境中運行相同的測試套件。

您可以通過選擇「運行」操作,「選項」選項卡和選擇「應用程序語言和應用程序區域」來設置在「方案編輯器」中運行的應用程序的區域設置。兩者都默認爲系統設置,但您可以更改它們,包括使用一些便捷的假RTL和假雙倍長度語言。 (如果測試操作不會因任何原因而繼承這些設置,那麼也可以設置命令行參數來改變用於排序語言和區域首選項的默認值查找,無論如何,這對於編寫腳本來說可能是需要的。 )