.NET Framework: 2.0 Preferred Language: C#
I am new to TDD (Test Driven Development).
First of all, is it even possible to unit test Windows Service?
Windows service class is derived from ServiceBase, which has overridable methods,
- OnStart
- OnStop
How can I trigger those methods to be called as if unit test is an actual service that calls those methods in proper order?
At this point, am I even doing a Unit testing? or an Integration test?
I have looked at WCF service question but it didn’t make any sense to me since I have never dealt with WCF service.
I’d probably recommend designing your app so the ‘OnStart’ and ‘OnStop’ overrides in the Windows Service just call methods on a class library assembly. That way you can automate unit tests against the class library methods, and the design also abstracts your business logic from the implementation of a Windows Service.
In this scenario, testing the ‘OnStart’ and ‘OnStop’ methods themselves in a Windows Service context would then be an integration test, not something you would automate.