Obecnie korzystam z najnowszego kandydata Visual Studio 2017 Release, tworząc bibliotekę .Net Standard 1.6. Używam xUnit do przetestowania mojego kodu i zastanawiałem się, czy nadal możesz testować wewnętrzne metody w VS2017.Metody wewnętrzne testowania jednostkowego w bibliotece standardowej .Net VS2017
Pamiętam, że można wszystkie klasy AssemblyInfo.cs linii w VS2015, która umożliwiłaby określonych projektów, aby zobaczyć metody wewnętrznych
[assembly:InternalsVisibleTo("MyTests")]
Ponieważ nie ma klasy AssemblyInfo.cs w projektach VS2017 .Net Standardowych byłem zastanawiasz się, czy wciąż możesz testować metody wewnętrzne?
Powinieneś * móc * przetestować swój kod tylko z zewnątrz widocznej funkcji. W końcu, jeśli żadna logiczna ścieżka z zewnętrznego kodu nie mogłaby dotrzeć do tych metod wewnętrznych, to co by tam robili w pierwszej kolejności? – David
@David Mogłem i mogłem to zrobić, ale wcześniej umieściłem proste testy jednostkowe wokół niektórych klas wewnętrznych. Po prostu bardziej wyraźne w testowaniu. –
AFAIK, możesz umieścić ten atrybut w dowolnym innym pliku poza blokiem 'namespace' i powinien on się skompilować. W "AssemblyInfo.cs" nie powinno być niczego magicznego. Czy to nie działa? Oczywiście, musisz dodać poprawną klauzulę 'using' lub użyć w pełni kwalifikowanego atrybutu' [assembly: System.Runtime.CompilerServices.InternalsVisibleTo ("Something")] '. – Groo