Obwohl es einige Posts auf StackOverflow über Unit Testing Action Ergebnis in MVC gibt, habe ich eine spezifische Frage ....
Hier ist mein ActionResult in Controller:
%Vor%Jeder Artikel in Produkten hat verschiedene Attribute wie Name, Foto, Menge usw. Ich habe eine Testmethode für diese Methode geschrieben. Sie sieht folgendermaßen aus:
%Vor%Was sollte ich in diesem Fall vergleichen, da keine Parameter in die Index Action
übergeben werden? Sehen Sie sich das ViewResult an Klasse, das kann dir zeigen, was du sonst noch testen könntest.
Was Sie tun müssen, ist Ihr DbContext
zu verspotten und es mit Daten in der Eigenschaft Products
( DbSet<>
) zu versorgen, da dies in der Aktion Ihres Controllers aufgerufen wird.
Sie können dann
Beispielcode
%Vor% Wenn Sie Hilfe brauchen, um einen DbContext zu verspotten, gibt es bestehende Frameworks und Artikel zu diesem Thema. Hier ist eine von Microsoft mit dem Titel Testen mit einem Mocking-Framework . Idealerweise sollten Sie Ihre Abhängigkeiten (einschließlich DbContext-Instanzen) in die Konstruktoren Ihrer Controller
-Instanzen einfügen, indem Sie ein DI-Framework wie AutoFac oder Unity oder NInject verwenden (die Liste wird fortgesetzt). Dies erleichtert auch die Stückprüfung erheblich.
Tags und Links asp.net-mvc c# unit-testing asp.net asp.net-mvc-4