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.
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.
18 Try <a href="http://nunit.sourceforge.net">NUnit</a>
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
28 href="http://junit.sourceforge.net/doc/testinfected/testing.htm">
29 JUnit Test Infected: Programmers Love Writing Tests</a>.
34 We welcome all contributions to the Class Libary Test Suite.
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="resources.html#mailing">mono-list</a>.
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>.
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.