Wiring / Testing Checklist

Aug 17, 2008 at 5:14 PM
Edited Aug 17, 2008 at 5:45 PM
Hi Tim

As I'm working through your book I find I wish I had something to organize and focus how to wire up and test common aspects of new entities, so I'm going to throw the half-baked checklist I started as the basis for a discussion on how to make it easier to get past all of the unavoidable plumbing issues and better focus on domain logic.

Thanks,
Berryl Hesh

v      Create xxxEntity object in Model ‘package’

v      Data wiring

Ø       xxxEntity is an Aggregate root:

Create xxxEntity : EntityBase, IAggregateRoot object in Model ‘package’

·         Test strategy

·         Exception thrown if no repository interface<o:p></o:p>

Create IxxxEntityRepository : IRepository<xxxEntity> object in Model ‘package’

·         Test strategy

·         Exception thrown if no repository implementation

Create xxxEntityRepository : SqlCeRepositoryBase<xxxEntity>, IxxxEntityRepository> in Repository ‘package’

·         <Test strategy

·         Exception thrown if no factory implementation

Create xxxEntityFactory : IEntityFactory<xxxEntity>, IDomainObjectBuilder<xxxEntity> in Repository ‘package’

·         Test strategy

·         Exception thrown if no entity mapping element in App.Config

Create entity mapping element in App.Config

·         Test strategy

·         Exception if no thrown if no repository mapping element in App.Config

Create repository mapping element in App.Config

·         Test strategy – TEST IxxxEntityRepository implementations

Ø       xxxEntity is NOT an Aggregate root:

v      View wiring