parolalarını önlemek için komut satırı argümanları API'ye giriş yapma yeteneğimi test etmeye çalışıyorum. Doğal olarak, bu benim kullanıcı adımı ve şifremi erişmek için test sınıflarıma ihtiyacım var demektir. Ancak, bu projeyi kamuya açık kaynak kontrolüne koymak istiyorum, bu yüzden kullanıcı adımı ve şifremi kodda paylaşamam (hayal edeyim). Komut satırı argümanlarını kullanırım, çünkü bir .user dosyasında saklanırlar (diğer kullanıcılar için projeyi bozmadan kaynak kontrolünün dışında tutulabilirler). Ancak, aslında test sınıflarına geçtikleri görülmüyor (en azından Environment.GetCommandLineArgs()
kullandığımda onları göremiyorum). Öyleyse şifrelerimi diğer kullanıcılar için projeyi bozmadan nasıl yerel olarak saklayabilirim? Bir yolu var mı? aşağıdaki gibiVisual Studio Birim sınamaları ve kaynak denetimi
5
A
cevap
6
yapmanın yaygın bir yoludur:
- sadece gerçek değerler olmadan sen böyle şeyler saklamak istediğiniz dosya ile aynı içeriğe sahip, projenize bir şablon dosyasını ekleyin. Boş veya kukla değerler yerine yerleştirin.
- Bu kalıp dosyasını kaynak denetime ekleyin
- Kaynak denetimdeki gerçek değerleri içermesi gereken dosyayı kaldırın ve bu dosyanın ilerideki kopyalarını yoksaymasını isteyin. 'u yapmayın, ancak projenizden kaldırın.
böyle bir komut içeren bir ön inşa inşa Etkinlik ekle:
IF NOT EXIST "$(ProjectDir)\App.config" COPY "$(ProjectDir)\App-template.config" "$(ProjectDir)\App.config"
Bu şimdi bu etkiye sahiptir:
- yapılandırma dosyasının bir şablon kaynağının artık denetim, olmadan hassas bilgiler
- Projenin yeni kopyasını klonladığınızda veya bir kopyasını görüntülediğinizde, hassas bilgileri saklarsınız diskte kaybolur ve Visual Studio bunu işaretleyecektir, bunu görmezden gelerek bu
- Bir yapı yapın, bu, yukarıdaki dosyanın yürütülmesini sağlar. ve sonra yeni bir kopyasını şablon dosyasından kopyalayın.
- Yeni oluşturulan asıl dosyayı, hassas bilgileri ekleyerek düzenleyin.
- başka yapı
- Çalıştır birim testleri veya program yapın
bu yöntem, disk üzerinde ve hatta mevcut dosyaları görmezden kaynak kontrol aracı sorabilir çalışmak sizin için zorunludur Kendinizi değiştirdikten sonra otomatik olarak eklemeye eklemeyecek şekilde projelendirin.
1
Hassas bilgileri (parolaları) ayrı bir "SensitiveInfo.config" dosyasına koyun.
<?xml version="1.0" encoding="utf-8"?> <appSettings> <add key="SecretPassword" value="87DFG8S7G9S8G98SDFGHSDFG978DA" /> </appSettings>
"Kopyala hep"
senin "App.Config" Bu ekleme "Çıktı Dizini Kopyala"
Sensitive.info
ayarlayın: emin "ingnore" Make<appSettings file="SensitiveInfo.config"/>
" SensitiveInfo.config "dosyası .hgignore (Mercurial) veya içine ekleyerek dosya.gitignore (Git)
İlgili konular
- 1. Visual Studio 2010'da birim sınamaları gerçekleştirilmeden önce nasıl yapılamaz
- 2. Visual Studio Team Explorer'da kaynak denetimi bağlamlarını değiştirme
- 3. Visual Studio Kaynak Denetimi Gezgini'ndeki komutla hala kullanabiliyor musunuz?
- 4. Visual Studio Kodundan Mocha ile Typescript'te yazılan birim sınamaları nasıl hata ayıklanır?
- 5. Çekirdek jQuery kitaplıkları için birim sınamaları
- 6. Visual Studio Birim Testi - Belirtilen üye bulunamadı
- 7. Visual Studio 2015, birim testleri bulamıyor: C++
- 8. Kaynak denetimi .csproj ve diğer Visual Studio dosyaları yerine üretebilir miyim?
- 9. Eclipse CDT ve Kaynak Denetimi
- 10. Visual Studio 2017 RC
- 11. C# Visual Studio kaynak dosyalarını kullanarak
- 12. TypeScript Visual Studio Dil Uzantısı Kaynak Kodu
- 13. Açık Kaynak Visual Studio Uzantıları Listesi?
- 14. Visual Studio, SQLiteCommand.cs Kaynak Kodunu Bulmamı İstedi
- 15. Visual Studio 2010 ifadesi, Kaynak Denetimleri eklentilerini engelliyor mu?
- 16. Yeni başlayanlar Visual Studio 2008'de birim testine giriş
- 17. BIDS çözümlerini kaynak denetimi altına nasıl yerleştirebilirim?
- 18. Visual Studio C# sekme dinamik numarası ile bir sekme denetimi nasıl oluşturulur Visual Studio C#
- 19. CollectionAssert ile Birim Denetimi IList
- 20. Programın Visual Studio denetimi altında yürütüldüğü nasıl kontrol edilir?
- 21. Visual Studio 2013 Git Sürüm Denetimi - SSH Anahtarı
- 22. Kod Visual Studio 2010 derler fakat kaynak kodunu 2010 Visual Studio ile düzgün derler tüm
- 23. Birim Testi - Visual Studio Birimini Genişletme Test Türü - Çalışmıyor
- 24. Visual Studio 2010, dosya
- 25. Visual Studio ve C Rakipleri #
- 26. Visual Studio kodu ve virtualenv
- 27. Visual Studio ve TFS ile TortoiseMerge Kullanma - Hedefi Hedefle (bulunamadı)
- 28. Visual Studio 2012 projesine Visual Studio 2012
- 29. Visual Studio 2015 - ASP.Net uygulaması, Visual Studio
- 30. Visual Studio 2013, NUnit
Neden hassas veriyi temizlemediğiniz bir yapılandırma dosyası kontrol edilmeden önce yapılıyor? – DrewJordan
Bu tür şeylerin üstesinden gelmenin daha iyi yolları vardır, bu yollardan biri için cevabımı bakın. Hassas bilgileri düzenlemek için hatırlamanız gereken bir dosyaya sahip olmak, "felaket" için bir reçete (bu bilginin kaynak kontrolünde ne kadar kötü olduğuna bağlı olarak). ** ** unutulacak. –