2011-05-18 9 views
5

Standart .NET yapılandırma (app.config) dosyasından bazı yapılandırmaları okuyan bir bileşenim var. Bu bileşen için (TD.NET kullanarak) birim sınamaları (NUnit) çalıştırdığımda, yapılandırma dosyasının okunmadığını farkettim. onun değer C'ye ayarlanmış olduğunu AppDomain.CurrentDomain.SetupInformation.ConfigurationFileNUnit testleri (TD.NET) çalıştırılırken hatalı yapılandırma dosyası

incelenmesi üzerine

Ben fark etmiş: tmp6D2F.tmp (bazı geçici rastgele locaiton) \ \ Users \ ltal \ AppData \ Local \ Temp.

Bunun neden bir sebebi var mı? (NUnit mi yoksa TD.NET'in hatası mı?)

Bu SetupInformation nesnesini sınama uğruna kendim ayarlayabilirim, henüz denemedim, ancak hala neden bunun gibi oluşturulmadığını merak ediyorum. varsayılan.

cevap

3
  • Bu geçici çözüm için, birim test projenize bir app.config oluşturabilirsiniz. Bu, ünite testlerinizle ana app.config yerine çağrılacaktır. Daha sonra, farklı değerler ve konfigürasyonları test etmeyi kolaylaştırarak ünite testlerindeki o app.config'deki değerleri değiştirebilirsiniz, yani test uygulamanızı çalıştırmadan önce test app.config dosyanızı belirli değerlerle ayarlayabilirsiniz.

    ConfigurationManager.AppSettings[""] = "";

  • Diğer bir seçenek ana projenin Settings.setting dosyasındaki ayarları yerleştirmek olabilir. Birim test projenizde herhangi bir şeyi değiştirmek zorunda değilsiniz. ayarları ve app.config arasındaki fark hakkında bazı bağlantılar - MSDN forums, StackOverflow,

  • Ve tabii üçüncü bir seçenek bir arayüz sunarak bileşeninizden app.config bağımlılık kaldırılacak ve bağımlılık enjekte etmek olacaktır User Settings - MSDN parçalara ayrılmayı ve birim test etmeyi kolaylaştırıyor.

+0

Ayarlar ile yapılandırma arasındaki fark nedir? bununla ilgili bir bağlantın var mı? nereye gitmeli ..? –

+0

Ayarlar dosyası, C: \ Documents and Settings altındaki bir konuma kaydedilir ve genellikle çalışma zamanı sırasında değiştirmek istediğiniz ve özellikle uygulama güncellemelerini sürdürmek istediğiniz kullanıcıya özgü ayarlar (arka plan renkleri gibi) için kullanılır. Genellikle App.Config dosyasında bağlantı dizeleri gibi şeyler depolardım. Bağlantı eklemek için düzenlenmiştir. –