kick off
[mono.git] / doc / testing
1 * Testing
2
3         Testing is an important part of the Mono project: every one of its
4         three major components has a test suite tailored for its needs.  This
5         is very helpful, because in the course of developing the software it
6         is very common to introduce bugs in existing code.  A test suite
7         helps us fix the bugs as soon as they are introduced.
8
9 ** Class Library Tests
10
11         All classes in Mono libraries should have comprehensive unit test
12         suites to go with them. Unit testing is a software engineering
13         methodology that makes it easier to build correct code. Every
14         method in every class should have a set of tests to verify
15         that they work correctly. Mono also needs a testing framework
16         to make it easy to write and run lots of tests. 
17
18         Try <a href="http://nunit.sourceforge.net">NUnit</a>
19
20         Why do unit testing? It becomes simple to run automated tests
21         for the whole library. Unit tests are a safety net - you can
22         change part of the code and verify that you haven't broken
23         anything. Ideally, tests are written before the actual library
24         code itself. And every time a bug is discovered, a test should
25         be written to demonstrate the bug and its fix. Then, if
26         you ever reintroduce the bug, you will know immediately. For
27         more info, read <a
28         href="http://junit.sourceforge.net/doc/testinfected/testing.htm">
29         JUnit Test Infected: Programmers Love Writing Tests</a>.
30
31
32 ** Getting Started
33
34         We welcome all contributions to the Class Libary Test Suite.
35
36         There is information to help you get started in CVS at
37         mcs/class/doc/NUnitGuidelines. Once you have written your test, please
38         post it to <a href="mailing-lists.html">mono-list</a>.
39
40         Someone will make sure to add the file or apply the patch as
41         appropriate. If you plan to be an on-going contributor and
42         would like to get cvs account, email <a href="mailto:miguel@ximian.com">miguel</a>.
43
44         Normally, after you send a couple of well-written new files
45         and/or patches to the list, you will be given cvs access.
46