This is a first draft for an AccUnit TestRunner.
Details
(Gathered mainly as results of the discussion between Josef and Paul on Jan 13th, 2012)
TO BE ORDERED AND REVIEWED
Reponsibilites/and Input/Output
- TestManager
- Responsibility: Orchestrates the parts described below.
- TODO: Should this work as a facade?
- Events:
- BeforeCollectingTests (maybe better: BeforeScanningProject? - there are also the test-related modules)
- AfterCollectingTests (maybe better: AfterScanningProject? - reasoning as above)
- TestCollector
- Responsibility: Collects the relevant information for running tests.
rephrased: In order to run a test, no one has to go back to the VBProject to look up something
- Input: Events from a component in VbeProjectManagement or just a list of all modules in the VBProject
- Output: IObservable<ITest>/Events
- FoundTestFixture(name)
- LostTestFixture(name)
- FoundTestMethod(fixtureName, name)
- LostTestMethod(fixtureName, name)
- maybe better name: ProjectScanner
- there are not just the test classes itself, but also the test-related modules
Conceptual
- No support of FixtureSetup/FixtureTeardown
- Seldom used, and when, then often misused (violating independency of tests)
Technical
- New assembly AccUnit.Framework
- No References to COM (SimplyVbUnit/Access/TLI)
- No IFixture
- By now, no relevant information besides the name
- The name of the fixture is a property of ITest
Open issues
- Test Reactive Extensions in a VBE AddIn