如何在VS2008中爲C#測試項目指定concrente本地化文化?我正在構建具有web.config中指定的非標準文化的Asp.Net MVC應用程序,但如何爲該項目的單元測試設置相同的文化?C#如何強制本地化文化en-US進行測試項目
24
A
回答
46
你可以設置
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
的方法
被標記爲您的單元測試框架「測試初始化」。
3
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
0
沒有一個類似於web.config中的設置,將在你的情況下工作。
您可以嘗試爲每個線程設置它,如其他答案中的建議。
或者,如果您使用的是VS.NET中創建的資源,代碼生成將在資源類上創建一個名爲'Culture'的靜態屬性。你可以在你的單元測試的Suite啓動方法中設置它。這將適用於您運行的所有測試。
3
如果您使用的xUnit,您可以將UseCultureAttribute
添加到您的項目,這裏定義的:
https://github.com/xunit/samples.xunit/blob/master/UseCulture/UseCultureAttribute.cs
要使用它:
[Fact]
[UseCulture("en-US")]
public void MyTest()
{
// ...
}
2
如果要指定CultureInfo
爲您的整個測試套件,而無需將其添加到每個TestClass
的TestInitializer
中,您可以使用AssemblyInitializeAttribute。
創建一個新的TestClass
,添加一個靜態方法將其用於設置DefaultThreadCurrentCulture
和DefaultThreadCurrentUICulture
,然後是裝飾用的方法AssemblyInitialzeAttribute
。在運行任何TestMethods之前,當您的測試套件啓動時,此方法將運行一次。 (注意:你的測試套件中可能只有一個這樣的方法用這個屬性裝飾)。
相關問題
- 1. 如何本地化listview項目文本?
- 2. 強制進行特定本地化以用於目標
- 3. C#Windows窗體本地化測試
- 4. 如何在SharePoint中測試本地化?
- 5. 如何查找字符串以在我的C#項目中進行本地化?
- 6. C#文化:本地化DayOfWeek?
- 7. 測試本地化網站
- 8. C#安裝項目本地化
- 9. 在調試時進行本地化vs
- 10. Winforms:默認啓用本地化(強制執行項目/解決方案策略)
- 11. iOS二進制本地化
- 12. 本地化項目,剃刀
- 13. 獲取本地化項目
- 14. 本地化的大項目
- 15. 本地化項目設置
- 16. 如何使用Appcelerator進行本地化?
- 17. 在iPhone上更改國家進行本地化測試
- 18. 如何強制本地化文化在Xamarin中整體應用en-US
- 19. 如何爲gwt MVP活動和地點項目進行測試?
- 20. 參數進行本地化
- 21. SiteMap在不同項目中使用資源進行本地化
- 22. 發送郵件並在本地爲php項目進行測試
- 23. 使用msi文件進行本地化
- 24. 強制默認的本地化語言
- 25. 我的團隊正在使用Selenium進行本地化自動化。如何使用selenium webdriver進行本地化測試
- 26. 如何本地化每頁和項目的Kendo網格默認文本項目
- 27. 我無法本地化我的XCode項目?說項目還沒有本地化
- 28. 強制特定線路進行測試?
- 29. 如何本地化IOS項目中的圖像文件
- 30. C#本地化
你可以在你想要的特定文化的調用方法之前設置它,你不需要做它在測試設置中。如果你只需要設置一個測試,你可能不想。 – 2012-10-29 15:56:49