© 2014 Fake the Unfakeable Isolating Code Under Test with Microsoft Fakes ©

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag Code-Dokumentation
Advertisements

Software Engeniering II
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
ASP.NET Überblick und technischer Einstieg
Deployment und Versioning von .NET Applikationen
SPS / WSS Entwicklung Martin Saternus Technical Student Consultant Microsoft Deutschland GmbH
Agenda Biztalk Loan Broker Fazit und Ausblick Motivation
Objektrelationales Mapping mit JPA Testing Jonas Bandi Simon Martinelli.
Simon Georg Pinkel Alice Server Pages Funktionale Programmierung und das Web.
Seminar Sommersemester 2002 ASP.NET Andre Margousian.
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Introducing the .NET Framework
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
1 WS 2012 Software-Engineering II Aspektorientierung.
Wizards & Builders GmbH Microsoft Titel Microsoft-Titel für Entwickler und Softwarehäuser.
Wizards & Builders GmbH Übersicht Schulung Übersicht über Schulung für Entwickler unter Microsoft Visual FoxPro.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
© by ppedv AG Partner: Silbersponsoren:Veranstalter: Goldsponsor: Automatisierte Generierung von Unit-Tests mit PEX Thomas Schissler
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Uwe Habermann Venelina Jordanova Kostenloser Einstieg in eine neue Welt!
Unit Testing Roger Boesch Technology Solution Professional Developer Tools Microsoft Schweiz GmbH blogs.msdn.com/rogerboesch © 2004 Microsoft Corporation.
Testgetriebene Entwicklung (TDD)
Eine kurze Einführung von Boris Smeisser
.Net Security. Motivation Rad nicht neu erfinden -> Nutzung der Sicherheitsfunktionen des Betriebssystems (zB Encryption, Authentifizierung,...) Zusätzlich.
SQL Server 2005 CLR-Integration
Mit 3 Schichte zum Erfolg
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Mahmoud Zoabi Khaled Isa
Agenda 13: Begrüßung & Einführung in das Thema
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 5 Folie 2 Windows Communication Foundation (WCF) s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Style Guidelines für Java und .NET
1.NET Assemblies und Metadaten René Löschl. 2 Inhalt Begriffe Eigenschaften von Metadaten Vorteile von Metadaten Typische Metadaten Zugriff und Verwaltung.
Bonn-to-code.net Nutzung von.NET User Controls in Legacy Code Sascha Lehmann
Worum gehts bei ASCIIMATH Wer wendet ASCIIMATH an? Wozu benötigen wir es? Wie wird es verwendet?
Was dir Trivialbeispiele in Async and Await nicht sagen! Marcus Kimpenhaus und Martin Möllenbeck.
Emergent Architecture Architektur in einer agilen Welt
Caliburn.Micro.
TDD mit MSTest Stefan Lieser Web:
Stefan Lieser Web:
Stefan Lieser Web:
MSDN TechTalk Anwendungen integrieren in Microsoft Dynamics CRM 4.0.
Real World Windows Azure Die Cloud richtig nutzen.
Animation: Folienübergänge Wechsel von Folie zu Folie.
SharePoint 2013 Web Services
Thomas Schissler – artiso solutions GmbH Artur Speth – Microsoft Deutschland GmbH.
Unit Testing Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung Planung von Softwareprojekten WS 2014/15 Christoph Stollwerk.
Digitale Annotationen. Grundlage: John Bradley “Towards a Richer Sense of Digital Annotation: Moving Beyond a Media Orientation of the Annotation of Digital.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
1 Softwareentwicklung mit.NET Teil 7.NET Security Dr. Ralph Zeller.
1 Konica Minolta IT Solutions Prinzip Partnerschaft MANAGED MONITORING ÜBERWACHJUNG DER SERVERINFRASTRUKTUR UND ANWENDUNGEN DIREKT AUS DER CLOUD.
Artiso solutions GmbH | Oberer Wiesenweg 25 | Blaustein | Advanced UI-Testing für WPF.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
EFFORTMANAGEMENT Jan Gerber Simon Hofmann Lukas Nonnenmacher.
Gewachsene Architektur Das kann nicht funktionieren!
 Präsentation transkript:

© 2014 Fake the Unfakeable Isolating Code Under Test with Microsoft Fakes ©

© 2014 Wer bin ich  Computer-Geek seit 3 Dekaden  15 Jahre Professional – 6 davon selbständig  Horror-Film Fan  Monk (ig)  Straight Edge  Vegetarier

© 2014 [Setup]  Theorie  Was / Warum / Wie  Praxis 1.Configuration 2.Casuals (DateTime, Events, Statics, ctor …) 3.Datenbank (Entity Framework) 4.HttpContext

© 2014 Was … ist Microsoft Fakes © ? „Code Isolation Framework zur Aufbereitung des Application-Codes für das Unit Testing“ State Verification (xunitpatterns) (xunitpatterns)

© 2014 Warum … wurde Microsoft Fakes © entwickelt?  Entwicklung == Evolution... auch bei Microsoft  Optimales Laufzeitverhalten <> Testbarkeit  Code Qualität && Komponenten/Module

© 2014 Wie … arbeitet Microsoft Fakes © ?  Begrifflichkeiten  Stubs  Shims  Integration  Konfiguration  Kompilation  Testing

© 2014 Stubs  Substitution funktionaler Bausteine (MSDN) (MSDN)  Substitution kann „injected“ werden  „IOC“-like  Anwendung auf ein Interface  Pointer Signaturen werden nicht unterstützt!

© 2014 Shims I  Runtime Interception (MSDN) (MSDN)  Substitution kann nicht „injected“ werden .NET Profiler leitet Aufrufe um („Monkey Patching“)

© 2014 Shims II

© 2014 Konfiguration .fakes File in der Solution (MSDN) (MSDN)  Konfiguration: Kompilation, Logging...  Filtern: assemblies, namespaces, types...  case-sensitive: !, StartsWith: *, Aufzählung: ;  Microsoft.QualityTools.Testing.Fakes.targets  nicht offiziell dokumentiert (Blog) (Blog)

© 2014 Kompilation  Assembly:..Fakes  Namespace:.Fakes  Namenskonventionen: (MSDN) (MSDN)  Shim / Stub Prefix  Methoden-Postfix (Get/Set/Constructor...)  Parameter-Postfix (T/TOut/TRef/TArray...)

© 2014 Testing  Stubs: Ausführung ohne Einschränkung  Shims: benötigen immer einen ShimsContext  Call-Interception und Umlenkung aller Aufrufe innerhalb des ShimsContext .ExecuteWithoutShims() möglich

© 2014 Praxisbeispiele... na endlich

© 2014 [TearDown]  Fragen?  Jetzt an mich oder später an:  Folien:  Code: Danke für Eure Aufmerksamkeit!