Unit Testing World Wind
From World Wind Wiki
Revision as of 21:25, 15 April 2005 (edit) 24.23.82.233 (Talk) ← Previous diff |
Revision as of 21:25, 15 April 2005 (edit) (undo) 24.23.82.233 (Talk) Next diff → |
||
Line 23: | Line 23: | ||
***TestDriven.NET | ***TestDriven.NET | ||
***MB.Unit | ***MB.Unit | ||
- | |||
**Automated Builds | **Automated Builds | ||
***Nant | ***Nant |
Revision as of 21:25, 15 April 2005
Unit Tetsing World Wind
I would like to float a proposal to start adding Unit Testing for any new features we add to World Wind. This isnt user or tester testing, unit tests is code and classes you add to a project to test that the code you write behaves as expected and can be tested and verified by automated tools. So if you check in changes a periodic build can build *and* test the code.
The pedantic form of writing tests is to write it *before* you write the actually code. I know it sounds odd, but think about it, you *have* thought through your classes and written some stuff down, you *do* know where you are gonna start, you *aren't* making it up as you go along are you? :) Writing tests before coding makes you stay honest with yourself.
- Pros
- Writing tests makes you think about what your code does and is it as simple as possible
- Verifiable testing, CruiseControl.Net, Nant and many other tools can build and run the tests and give quick feedback about things that dont pass.
- Regessions are (hopefully) spotted quickly
- Produces better code.
- Cons
- Percieved increase in time it takes to write code. (Time spent answering questions and testing is not visible to developers)
- Extra dependancy for the build.
- Testing GUI is hard.
- Separation of concerns is hard to start doing (Large event methods - see WorldWindow.cs - _OnMouseDown)
- Tools
- Unit Testing
- TestDriven.NET
- MB.Unit
- Automated Builds
- Nant
- Cruise Control.Net
- Unit Testing
To help make World Wind as stable and bug free as possible we ask that Beta Testers check through the following list of items for bugs: