Uczę się o używaniu podkładek w testach jednostkowych. Próbuję Klasycznym przykładem z DateTime, z tego linku: http://www.wiliam.com.au/wiliam-blog/getting-started-with-microsoft-fakesShimDateTime nie jest dostępny w System.Fakes
mogę dodać Fakes na odniesienie System w moim projekcie badanej jednostki, ale gdy następnie spróbuj użyć System.Fakes.ShimDateTime, mówi mi:
The type or namespace name 'ShimDateTime' does not exist in the namespace 'System.Fakes' (are you missing an assembly reference?)
Gdybym sprawdzić, co jest dostępne pod System.Fakes, widzę tylko odcinki i żadnych podkładek, więc wydaje mi czegoś brakuje, aby wygenerować podkładki, jak również?
Nie jestem pewien, czy to istotne, ale to jest (domyślnie) zawartość z pliku System.fakes:
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
<Assembly Name="System" Version="4.0.0.0"/>
</Fakes>
Używam Visual Studio 2015. VS2015 14.0.25420.01 Update 3 i My projekt działa w .NET Framework 4.5.2
W rzeczywistości mój projekt nie kompiluje się zaraz po dodaniu podróbek do Systemu, więc nawet bez prób użycia ShimDateTime. Błąd kompilacji pojawia się:
The type or namespace name 'EventSourceCreatedEventArgs' does not exist in the namespace 'System.Diagnostics.Tracing' (are you missing an assembly reference?)
A to pochodzi z \ UnitTestProject1 \ obj \ Debug \ Podróbki \ m \ f.csproj i f.cs plików na linii: [mqttf :: Microsoft.QualityTools.Testing. Fakes.Stubs.StubClass (typeof (global :: Syst em.Diagnostics.Traci ng.EventSourceCreate dEventArgs))]
Ktoś, kto może umieścić mnie na właściwej ścieżce, aby uzyskać ShimDateTime dostępne w System.Fakes?
Próbowałem utworzyć pusty projekt unittest, stworzył zespół podróbki z odniesieniem System.dll, aw moim testu mam ShimDateTime normalnie dostępne –
tutaj można go zobaczyć http://tinypic.com/r/4qsh89/9 –
Wypróbowałem to samo podejście, zacząłem od zera z nowym projektem testu jednostek, dodałem podróbki na referencji do systemu, a następnie spróbowałem dodać twój kod. Nadal dostaję błąd na ShimDateTime. W rzeczywistości od razu mam błąd podczas kompilowania projektu po dodaniu podróbek dla systemu: Typ lub przestrzeń nazw "EventSourceCreatedEventArgs" nie istnieje w przestrzeni nazw "System.Diagnostics.Tracing "(czy brakuje odniesienia do zestawu?) – Baz