ploeh blog

Mark Seemann's discontinued .NET blog.

Fixture Setup With Installers

It's no secret that I prefer unit tests over integration tests. Whenever it's possible to replace an...

Author: ploeh Date: 11/28/2007

TechEd Sessions Sample Code

Now that both of my TechEd sessions are over, I've had some request for the sample code that I...

Author: ploeh Date: 11/08/2007

What Do You Want To Discuss About TDD?

As previously announced, I'll be giving two talks at TechEd Developers in Barcelona next week. The...

Author: ploeh Date: 11/02/2007

Running MSTest In An MTA

Writing deterministic, multi-threaded unit tests may not be your idea of a fun Saturday night, but...

Author: ploeh Date: 10/20/2007

Speaking at TechEd Developers 2007

Again this year, I'll be presenting at TechEd Developers in Barcelona next month. This year, I'll be...

Author: ploeh Date: 10/10/2007

Race Troubleshooting Using The Console Output In VSTS

It must be my week of discovering the obvious. The other day I was troubleshooting a race condition...

Author: ploeh Date: 10/06/2007

Troubleshooting WCF In Production Environments

WCF is such a nice framework, and its diagnostics capabilities are really comprehensive. Really, I...

Author: ploeh Date: 10/02/2007

CovariantCollection

One of the known limitations of .NET generics is the limited support for covariance. This is...

Author: ploeh Date: 09/29/2007

Installing Event Sources For The Logging Application Block

One of the nice things about the Enterprise Library Logging Application Block (LAB) is that it's so...

Author: ploeh Date: 09/20/2007

Performance Counter Testing

If at all applicable, a well-written application should include one or more performance counters,...

Author: ploeh Date: 09/15/2007

Agile Proves Effective Once More

Christian, one of my old (and present) collegues, has just posted about his team's latest...

Author: ploeh Date: 08/31/2007

SQL Server On Vista Development Machines

As an enterprise developer, I've always had SQL Server on my laptop (which is my main development...

Author: ploeh Date: 08/26/2007

User Context

Besides logging, one of the most common types of ambient context is the user. Who is the user? Was...

Author: ploeh Date: 08/20/2007

MSDN Magazine Article on Test Doubles

My latest MSDN Magazine article - this time on test doubles - is now available on the MSDN Magazine...

Author: ploeh Date: 08/09/2007

Call Contexts vs. ASP.NET

In my former post on Ambient Contexts, I described how you can use CallContext or Thread Local...

Author: ploeh Date: 07/28/2007

Ambient Context

These days, I'm becoming increasingly enamored with the idea of implementing cross-cutting concerns...

Author: ploeh Date: 07/23/2007

Imperative Configuration

How can I unit test my application with different configuration settings? A couple of months back, a...

Author: ploeh Date: 07/11/2007

cleantestresults XML Snippet

About a year ago, I wrote about an automated way to clean up the TestResults folder created by VSTS....

Author: ploeh Date: 06/25/2007

Using Decorators For Inter-Layer Communication

While I hope that my previous post made it clear that Data Transfer Objects are not my first choice...

Author: ploeh Date: 06/18/2007

What's An Entity, Anyway?

These days, I seem to be encountering a lot of entities. Not in the sense of non-corporeal beings as...

Author: ploeh Date: 06/18/2007

Speaking In June

At the upcoming Softwareudvikling på tværs conference, I'll be presenting a session on TOOD on the...

Author: ploeh Date: 06/08/2007

State Your Dependency Intent

There are several different ways to implement Dependency Injection (DI), and Martin Fowler describes...

Author: ploeh Date: 06/02/2007

Code As Dependency Configuration

In his article on Inversion of Control and Dependency Injection, Martin Fowler has a quite...

Author: ploeh Date: 05/30/2007

Reasons For Isolation

Object-oriented applications above some level of complexity are almost always modelled as a layered...

Author: ploeh Date: 05/30/2007

Authorizing Services

If you look at the default authorization model for WCF, you will notice that it expects you to...

Author: ploeh Date: 05/20/2007

Testing Against The Passage of Time

This is the fourth in a small series of posts about testing against non-determinism. In this...

Author: ploeh Date: 05/14/2007

Testing Against The Current Time

This is the third in a small series of posts about testing against non-determinism. In this...

Author: ploeh Date: 05/12/2007

Testing Against Guids

This is the second in a small series of posts about testing against non-determinism. In this...

Author: ploeh Date: 05/12/2007

Testing Against Randomness

This is the first in a small series of posts about testing against non-determinism. In this...

Author: ploeh Date: 05/11/2007

Testing Against Non-Determinism

Although computers tend to be rather deterministic in nature, you will sometimes have to deal with...

Author: ploeh Date: 05/11/2007

Hello World

private static void Main(string[] args){ Person father = new Person(); Person mother = new Person();...

Author: ploeh Date: 04/21/2007

Unit Testing Activity CodeDOM Serializers

Windows Workflow Foundation (WF) defines workflows as object graphs. To save or compile workflow...

Author: ploeh Date: 04/05/2007

BPL

Although my daughter is now 4½ years old, she still can't write code. Some may say that it's because...

Author: ploeh Date: 04/01/2007

April's Fool!

;)

Author: ploeh Date: 04/01/2007

Validating Code Serialized by CodeDomDesignerLoaders

A while back I wrote about unit testing component serializers, but I left the task of validating the...

Author: ploeh Date: 04/01/2007

Provider Injection

In his article Inversion of Control Containers and the Dependency Injection pattern, Martin Fowler...

Author: ploeh Date: 03/25/2007

Service Locator 2 Released

After far too much delay, today I have finally released Service Locator 2 to the web. Since...

Author: ploeh Date: 03/15/2007

TOOD? TOOP?

Roy Osherove has noted a discrepancy between pure object-oriented design and testable design...

Author: ploeh Date: 02/28/2007

How Will LINQ Impact Database Development Best Practices?

Ever since I first heard about the LINQ project, I've been wondering how this would fit in with our...

Author: ploeh Date: 02/10/2007

A Generic IAsyncResult Implementation

Lately, I've found myself writing implementations of IAsyncResult more than once, and as it turns...

Author: ploeh Date: 02/09/2007

Vote For Generic Set Class

From time to time, I find myself in a situation where I need a class that mimics the behavior of a...

Author: ploeh Date: 02/09/2007

ClassCleanup May Run Later Than You Think

In addition to the well-known TestInitializeAttribute, the Visual Studio Team System unit testing...

Author: ploeh Date: 01/06/2007

Mapping SAML Tokens to IPrincipals

In my post about integration testing of WCF services, I briefly touched on the topic of...

Author: ploeh Date: 01/04/2007

Integration Testing With Certificates

In my post about integration testing of WCF services, I hinted that one compelling reason to perform...

Author: ploeh Date: 12/20/2006

Integration Testing WCF Services

In my previous post about unit testing WCF services, I hinted at the need to perform integration...

Author: ploeh Date: 12/04/2006

Unit Testing WCF Services

A few years ago, when ASP.NET web services were the only (or at least most common) implementation of...

Author: ploeh Date: 12/03/2006

Vertical Guidelines in Visual Studio

From time to time, I've found myself wishing that Visual Studio had vertical guidelines in the code...

Author: ploeh Date: 12/01/2006

TechEd Aftermath

With TechEd: Developers long over, I thought I'd post a few links to the residue I left in my wake...

Author: ploeh Date: 11/28/2006

Data Access Component Testing

In a typical n-layer enterprise application, there's almost always a data access layer with one or...

Author: ploeh Date: 11/17/2006

Integration Testing Principles

As I've written before, integration tests are different from unit tests, but that does not mean that...

Author: ploeh Date: 11/15/2006

<Previous Next>