Mit Zanebug mehr aus Tests herausholen

20. August 2007 Keine Kommentare »

Wem die Auswertungen von NUnit nicht aussagekräftig genug sind oder wer sich umfangreichere Kontrollmöglichkeiten bei der Ausführung von Unit Tests wünscht, der ist mit dem Tool Zanebug bestens bedient. Zanebug bietet eine GUI für NUnit, die einen schnellen Zugriff auf eine Vielzahl von Testdaten. Das Tool kann hier kostenlos heruntergeladen werden.

Neben der Konsolenausgabe und weiteren Ausgaben hat man auch Zugriff auf den Windows Performance Monitor. Dies ist sehr praktisch, wenn man Tests durchführt, welche die Performance der Software testen sollen.

Tags:, ,

Bookmarken bei... del.icio.us:Mit Zanebug mehr aus Tests herausholen furl:Mit Zanebug mehr aus Tests herausholen Y!:Mit Zanebug mehr aus Tests herausholen

Logging mit log4net

13. August 2007 Keine Kommentare »

log4net ist ein Logging-Framework für die .NET Plattform. log4net stellt einen Mechanismus zum standardisierten Anwendungs-Logging zur Verfügung, der zur Laufzeit konfiguriert werden kann. Des Weiteren hat log4net nur geringe Auswirkungen auf die Anwendungsentwicklung und die Laufzeit Performance.

log4net kann hier heruntergeladen werden. Um es einzubinden muss man die entsprechende dll im eigenen Projekt referenzieren. So muss man für ein Projekt in .NET 1.1 die Datei bin\net\1.1\release\log4net.dll referenzieren.

Die Konfiguration von log4net erfolgt über die app.config bzw. web.config oder eine externe XML-Datei. Ausführliche Beispiele zur Konfiguration finden sich auf der Projektwebsite.

log4net Komponenten/Konzepte:

  • Loggers: Sind Objekte, die der Entwickler zur Ausgabe von Logging-Informationen verwenden kann. Sie stellen eine API zur Verfügung, welche die Ausgabe von Log-Events in den folgenden Schweregraden ermöglicht: DEBUG, INFO, WARN, ERROR, FATAL.
  • Appender: Appender behandeln die Ausgabe der Log-Events. So schreibt z.B. der EventLogAppender seine Ausgaben in das Windows Event Log, während der RollingFileAppender seine Ausgaben in eine Datei schreibt. Weitere Appender: AdoNetAppender, ConsoleAppender, SmtpAppender… Interessant ist die Möglichkeit, für verschiedene Schweregrade unterschiedliche Appender einzusetzen.
  • Layout: Appender nutzen Layouts zur Formatierung der Log-Event-Ausgaben (z.B. XmlLayout zur Ausgabe der Log-Events als XML-Elemente)


Eine einfache Konfiguration innerhalb der App.Config könnte z.B. so aussehen:

[code lang="xml"]











[/code]
Mit dem folgenden Aufruf wird log4net in der Application initialisiert:[code lang="csharp"]
log4net.Config.XmlConfigurator.Configure();
[/code]Mit dem folgenden Aufrauf kann dann ein Log-Eintrag generiert werden:[code lang="csharp"]
log4net.ILog log = log4net.LogManager.GetLogger(typeof(Form1));
log.Warn ("Anwendung gestartet");
[/code]

log4net Dokumentationen und Tutorials:

Tags:, , ,

Bookmarken bei... del.icio.us:Logging mit log4net furl:Logging mit log4net Y!:Logging mit log4net

Data-Access Layer erstellen mit Codus

10. August 2007 Keine Kommentare »

Codus ist ein Tool, das basierend auf einer bestehenden Datenbank eine komplette Datenzugriffs-Schicht (Data-Access Layer) erstellt. Diese verfügt über Entities, Data-Access Objects und NUnit Tests.
Das Tool kann hier heruntergeladen werden. Neben zwei älteren kostenlosen Versionen kann die aktuelle Version als 10-Tage-Test-Version heruntergeladen werden. Die 10-Tage-Test-Version ist empfehlenswert, da hier .NET 2.0-Code erstellt wird. In der kostenfreien Version wird zu jedem Entitytyp eine typisierte Collection generiert. Das ist unter 2.0 – dank Generics – nicht mehr notwendig.

Im Programm hat man die Möglichkeit, sich mit einer Datenbank zu verbinden. Unterstützt werden Access, MySQL, MSSQL und Oracle Datenbanken. Aus der Datenbank wählt man dann die entsprechenden Tabellen aus, für die die Zugriffsschicht erstellt werden soll. Es lassen sich auch einzelne Spalten ausschließen.

Die Erstellung der Datenzugriffs-Schicht erfolgt mit Hilfe von Templates. Zurzeit kann zwischen dem DAO Framework Template und dem NHibernate Framework Template gewählt. Die Ausgabe erfolgt jeweils in C#.

Manuell erstellte Hibernate-Mappings bieten dennoch einen reichhaltigeren Funktionsumfang und eine feinere Abstimmung vom Klassen- zum Relationenmodell. So unterstützt Hibernate verschiedene Kopiersemantiken für Collections (insb. Kompositionen), die Codus von Haus aus nicht ausschöpft. Many-to-many-Relationships oder schwache Entitäten werden ebenfalls nicht berücksichtigt. Stattdessen erhält man generierte Klassen für die 3 an der Beziehung beteiligten Relationen. Dadurch verlagern sich allerdings einige der Tätigkeiten, für die Hibernate geeignet (zuständig?) ist, in die oberen Schichten. Ich möchte nicht ausschließen, dass die aktuelle Codus-Version hier mehr leistet – die Testversion bot hier auf den ersten Blick jedenfalls keine Unterstützung.

Bleibt unterm Strich dennoch, dass Codus eine Menge Arbeit sparen kann, sofern einfache Relationenmodelle eingesetzt werden.

Tags:, , , , , , ,

Bookmarken bei... del.icio.us:Data-Access Layer erstellen mit Codus furl:Data-Access Layer erstellen mit Codus Y!:Data-Access Layer erstellen mit Codus

Setup Projekte erstellen mit WiX und Votive

8. August 2007 Keine Kommentare »

WiX (Windows Installer XML) ist ein Tool, um mit Hilfe von XML-Dateien aus einem Visual Studio Projekt ein Installer-Paket zu erstellen. Die aktuell stabile Version kann hier heruntergeladen werden.

Auf der Website kann auch das Plugin “Votive” für Visual Studio heruntergeladen werden. Es ermöglicht den Aufruf von WiX aus Visual Studio. Außerdem ermöglicht es die Erstellung von .wxs-Dateien mit IntelliSense-Unterstützung

Die Erstellung einer Installerdatei kann entweder über das Plugin erfolgen, oder manuell durchgeführt werden, indem man eine XML-Datei (.wxs) erstellt, die die Installerkonfiguration enthält. Diese XML-Datei wird dann mit dem Tool candle.exe in eine .wixobj-Datei umgewandelt, aus der dann mit dem Tool light.exe eine .msi-Datei erstellt wird. Einfacher geht es aber mit dem “Votive“-Plugin.

Auf der Projekt-Website findet sich ein Tutorial zur Erstellung der .wxs-Datei. Ein weiteres Blog zum Thema WiX, das ebenfalls sehr zu empfehlen ist, findet sich hier.

Tags:, , ,

Bookmarken bei... del.icio.us:Setup Projekte erstellen mit WiX und Votive furl:Setup Projekte erstellen mit WiX und Votive Y!:Setup Projekte erstellen mit WiX und Votive

Windows Sysinternals

6. August 2007 Keine Kommentare »

Windows Sysinternals ist eine Sammlung nützlicher Tools, die dabei helfen, Windows-Systeme zu verwalten und zu analysieren. Anbei die Vorstellung einer Auswahl von Tools:

  •  Der Process Monitor bietet ähnliche Funktionen wie der Filemon und der Regmon, aus denen er hervorgegangen ist. der Process Monitor ermöglicht die Anzeige der aktuellen Registry-, Dateisystem-, Prozeß- und Thread-Aktivität.
  • Autoruns zeigt alle Programme an, die beim Start von Windows automatisch gestartet werden.
Tags:

Bookmarken bei... del.icio.us:Windows Sysinternals furl:Windows Sysinternals Y!:Windows Sysinternals