Şu anda en son Visual Studio 2017 Sürüm Adayı ile bir .Net Standard 1.6 kitaplığı oluşturarak çalışıyorum. Kodumu sınamak için xUnit kullanıyorum ve hala VS2017'de iç yöntemleri test edip edemeyeceğinizi merak ediyorum.VS2017 .Net Standart kitaplığında iç yöntemleri test eden birim
yaşımdan VS2017 Net Standart projelerinde hiçbir AssemblyInfo.cs sınıf bulunmadığından Eğer belirtilen projeler sağlayacak VS2015 tüm çizgi AssemblyInfo.cs sınıf içi yöntemler
[assembly:InternalsVisibleTo("MyTests")]
görmek olabileceğini unutmayın hala birim testi iç yöntemleri olabilir eğer merak? .NET docs for the InternalsVisibleToAttribute
göre
Siz * kodunuzu yalnızca harici olarak görülebilen işlevlerden sınamak için * kullanabilmeniz gerekir. Sonuçta, harici koddan hiçbir mantıksal yol bu içsel yöntemlere ulaşamazsa, o zaman ilk etapta ne yapıyorlardı? – David
@David Bunu yapabilirim ve yapmıştım ama daha önce bazı iç sınıflar etrafında basit birim testleri koymuştum. Sadece testte daha açık olmak için. –
AFAIK, bu özelliği "namespace" bloğu dışındaki başka herhangi bir dosyaya yerleştirebilir ve derlemelidir. AssemblyInfo.cs hakkında büyülü bir şey olmamalı. Çalışmıyor mu? Elbette doğru 'using' deyimini eklemeniz ya da tam olarak belirtilen özelliği kullanmanız gerekir: [assembly: System.Runtime.CompilerServices.InternalsVisibleTo (" Something ")]'. – Groo