coding.roecher.de

.net and c#
  • rss
  • Home
  • About
  • Impressum

ExpectedException Attribute und MSTest mit AAA Syntax

mario | 8. February 2010
 
Ich nutze schon eine ganze weile MSTest aus verschiedenen Gründen. Doch immer wieder stoße ich beim testen von Exceptions auf Schwierigkeiten. Zum einem ist die Syntax mit Attributen gewöhnungsbedürftig wenn man gewohnt ist seine Tests nach AAA (Arrange, Act, Assert) zu schreiben. Zum anderen, und das ist meiner Meinung nach das größere Problem, kann ich nicht genau überprüfen wann und wo der Fehler auftreten darf. Außerdem ist eine Untersuchung der Exception nur schwer möglich. Mit ein paar Zeilen Code kann man diese Probleme aber elegant lösen.
 
Hier ein Beispiel aus einer CodeKata:
image
Der erste Test mit Attribute. Der “Assert” Abschnitt bleibt leer. Eine Untersuchung der Exception ist nicht möglich.
 
Eine kleine generische Methode Throws<T> die als Parameter eine Delegaten erwartet setzt uns in die Lage gezielt zu steuern wann wir eine Exception erwarten und können diese anschließend bei Bedarf auswerten.
 
image
 
Hier der geänderte Test:
 
image

Mit dieser kleinen Hilfsmethode kann gezielt geprüfen werden wann eine Exception erwartet wird. Der Rückgabewert kann für weitere Untersuchungen genutzt werden.

Comments
No Comments »
Categories
.NET
Tags
c#, MSTest
Comments rss Comments rss
Trackback Trackback

Could not find stored procedure ‘System.Activities.DurableInstancing.CreateLockOwner’.

mario | 8. February 2010

Kaum hat man das Problem mit dem AppPool gelöst (ist bei mir übrigens nur bei der Installation über “Web Platform Installer” aufgetreten),  folgt auch schon der nächste Fehler beim starten der WCF Workflow Service Anwendung aus VS 2010. Der Grund sind die fehlenden Schema und Logik Objekte in der Persistence Database.

image

Das Problem lässt sich aber einfach beheben indem man die entsprechenden SQL Skripte ausführt. Die benötigten Skripte findet man unter: C:\Windows\Microsoft.NET\Framework\v4.0.21006\SQL\en

Es handelt sich um die Skripte:

1. SqlWorkflowInstanceStoreSchema.sql

2. SqlWorkflowInstanceStoreLogic.sql

Ich benutze für die Ausführung das Microsoft® SQL Server® 2008 Management Studio, das auch als Microsoft® SQL Server® 2008 Management Studio Express verfügbar ist. Alternative kann auch das Dienstprogramm osql verwendet werden. In meinem Beispiel würde die Syntax in etwas so aussehen:

osql -E -S .\sqlexpress -d ApplicationServerExtensions-i SqlWorkflowInstanceStoreSchema.sql

osql -E -S .\sqlexpress -d ApplicationServerExtensions-i SqlWorkflowInstanceStoreLogic.sql

 

image

Comments
No Comments »
Categories
.NET
Tags
.NET 4.0, WCF, WF, Windows Server AppFabric
Comments rss Comments rss
Trackback Trackback

Me

TechEd 2009 Berlin

Twitter Updates

Twitter Updates

    follow me on Twitter
    Mario Roecher

    Pages

    • About
    • Impressum

    Recent Posts

    • Die Bahn, Verspätungen, Zugausfälle und die Auswirkungen auf mein OpenSource Projekt
    • Visual Studio 2010 Release Candidate und Entity Framework POCO Template aus Beta 2
    • ExpectedException Attribute und MSTest mit AAA Syntax
    • Could not find stored procedure ‘System.Activities.DurableInstancing.CreateLockOwner’.
    • Login failed for user ‘IIS APPPOOL\DefaultAppPool’.

     

    February 2010
    M T W T F S S
    « Sep    
    1234567
    891011121314
    15161718192021
    22232425262728

    Tags

    .NET 4.0 .NET Open Space ADO.NET Assembly Bahn c# c# 3.0 Composite Application Composite Application Guidance Composite Applications DNUG EF Expression Extension Methods External Tool IM Control Koblenz Live Translator Messenger MSTest OpenSource Oracle OracleClient Parallel Computing Partial Methode PDC 2008 Prism Public Key Token Rhino Mocks Silverlight sn.exe UGSSK Unit Test Unit Test Framework Unity Application Block Verspätung Visual Studio WCF WF Windows 7 Windows Live Windows Server AppFabric WPF Zugausfall

    Recent Comments

    • Marvin on Auslesen des PublicKeyToken aus .NET Assemblys
    • coding.roecher.de» Juli Treffen der .NET User Group Koblenz on Gestern bei der DNUG in Koblenz
    • mario on Gestern bei der DNUG in Koblenz
    Locations of visitors to this page

    Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
    rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox