VS2008'de C# için yapılan testler için concrente Yerelleştirme Kültürü nasıl belirlenir? Web.config'te belirtilen standart olmayan bir kültüre sahip olan Asp .Net MVC uygulaması yapıyorum ancak bu proje için birim testi için aynı kültürü nasıl ayarlayacağım?C# Yerelleştirme Kültürünü sınama projesi için en-ABD'ye nasıl zorlayabilirim?
cevap
Sen birim test çerçevesinde "test başlatıcısı" olarak işaretlenmiş yöntemde
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
ayarlayabilirsiniz.
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
Web.config dosyasında, örneğinizde çalışacak olana benzer bir ayar yoktur.
Diğer yanıtların önerdiği gibi her iş parçacığı için ayarlamayı deneyebilirsiniz.
Alternatif olarak, VS.NET'te oluşturulmuş kaynakları kullanıyorsanız kod oluşturma, 'Culture' adı verilen Kaynak sınıfında statik bir özellik oluşturur. Bunu, birim testinizin Suite başlangıç yönteminde ayarlayabilirsiniz. Bu, çalıştırdığınız tüm testlere uygulanacaktır. Eğer xUnit kullanıyorsanız burada tanımlanan
, sen projenize UseCultureAttribute
ekleyebilirsiniz:
https://github.com/xunit/samples.xunit/blob/master/UseCulture/UseCultureAttribute.cs
kullanmak için:
[Fact]
[UseCulture("en-US")]
public void MyTest()
{
// ...
}
belirtmek istiyorum Tüm Test Suite'iniz için'u,her TestInitializer
'a eklemeniz gerekmeden AssemblyInitializeAttribute kullanabilirsiniz.
TestClass
oluşturun
DefaultThreadCurrentCulture
ve
DefaultThreadCurrentUICulture
setleri buna bir statik yöntemi ekleyin ve sonra
AssemblyInitialzeAttribute
ile bu yöntemi süsleyin. Bu yöntem, herhangi bir TestMethods çalıştırılmadan önce test takımınız başladığında bir kez çalıştırılacaktır. (Not: Bu özellik ile test yönteminizde yalnızca bu tür bir yöntemle dekore edilmiş bir yönteminiz olabilir.)
- 1. SConscript oluşturucuyu dizini değiştirmek için nasıl zorlayabilirim?
- 2. C projesi nasıl oluşturulur?
- 3. Yerelleştirme?
- 4. Bir C++ projesi için nmake nasıl kullanılır?
- 5. Silverlight projesi için oluşturulan html sınama sayfası javascript'i ekleyin
- 6. Yerelleştirme
- 7. Kullanıcı sistem kültürünü değiştirdiğinde olay nasıl alınır
- 8. Bazı sistemler sınama systemML projesi oluştururken başarısız oldu
- 9. C# birim sınama kullanarak sınamalar
- 10. Artımlı yerelleştirme nasıl çalışır?
- 11. Windows'da ekran algılamayı nasıl zorlayabilirim?
- 12. xcode'un C++ projesi için çalıştırılabilir ürün
- 13. Hangi C birimi sınama çerçevesi?
- 14. Özellik varlığı için Yerelleştirme Etiketi
- 15. .NET'te güvenlik kimliği için yerelleştirme
- 16. Javascript onay düğmeleri için yerelleştirme
- 17. C# kurulum projesi
- 18. WinRT içinde UI kültürünü değiştir
- 19. C++ Acemi programcı için OpenSource projesi?
- 20. Projesi C# 4.0 özellikleri
- 21. bir amaç-c projesi
- 22. Uygulamamda yerelleştirme nasıl test edilir
- 23. Linux altında C# projesi nasıl çalıştırılır
- 24. gcc newlibc uygulamasının özel işlevlerini kullanmak için nasıl zorlayabilirim?
- 25. XCode'da yeni bir C++ projesi nasıl oluştururum?
- 26. C# birim sınama, saklı yordam yordamı
- 27. JSTL ve c: sınama koşulu ne zaman
- 28. Eclipse'de bir ++ C++ projesi oluşturma
- 29. "Sınama" nasıl yazılır?
- 30. Swift birimi sınama ve "sınama için oluştur" hataları
bunu, belirli bir kültürün olmasını istediğiniz yöntemden hemen önce ayarlayabilirsiniz, yapmanız gerekmez. test kurulumunda. ve sadece bir test için ayarlamanız gerekirse, istemeyebilirsiniz. –
Bu türden bir cevaba cevap vermek konusunda gerçekten ihtiyatlıyım, ama bunun CurrentCulture değil "Thread.CurrentThread.CurrentUICulture" olması gerektiğine inanıyorum. CurrentUICulture için Intellisense, “Çalışmakta olan zamana göre kültüre özgü kaynakları aramak için Resource Manager tarafından kullanılan mevcut kültürü alır veya ayarlar.” Sınamalarım, bir "fr-FR" kültür kaynağına karşı test kullanırken başarısız olur. CurrentCulture, ancak CurrentUICulture kullanırken geçiş yapın. –
web.config, ile her iki kültürün de belirtilmesine izin verir. Gerçek uygulamada kullandığınız özelliklere bağlı olarak, birim testi için uygun özelliği ayarlayabilirsiniz. Özgün sorular kültürden bahsetmektedir, uiCulture değil, ama bu yorumlamaya tabidir. –