X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Ftesting;h=ab60d7fe4d3f88aef1074b23f49c955a094f9b45;hb=feca28835d4e3cb2be67bdcbd4f54fee62c3797a;hp=0823788337a0d976ce82a532becfbd4dc38e1a5b;hpb=c349751d28b850af2d643c6e7821fc24f224f9ca;p=mono.git diff --git a/web/testing b/web/testing index 0823788337a..ab60d7fe4d3 100644 --- a/web/testing +++ b/web/testing @@ -1,12 +1,33 @@ * Testing + Daily test results. + Testing is an important part of the Mono project: every one of its three major components has a test suite tailored for its needs. This is very helpful, because in the course of developing the software it is very common to introduce bugs in existing code. A test suite helps us fix the bugs as soon as they are introduced. -** Class Library Tests + There are various kinds of tests in Mono: + + + +* Class Library Tests All classes in Mono libraries should have comprehensive unit test suites to go with them. Unit testing is a software engineering @@ -15,6 +36,31 @@ that they work correctly. Mono also needs a testing framework to make it easy to write and run lots of tests. + In some classes, we might also provide standalone tests because of + some reasons such as too huge testcases, another downloading and so on. + (For example, managed XSLT has standalone test which downloads and + expands some megabytes of OASIS test suite.) + + Here I list them up as long as I know. If you are going to add another + standalone tests, please add one line here. It is also recommended that + you add some notes on how to build and run tests. + + ** Getting started @@ -42,8 +88,8 @@ testing. Once all of that is done, you can do a 'make test' from the top mcs - directory. Your test class will be automagically included in the - build and the tests will be run along with all the others. + directory. Your test class needs also to be listed in the + .sources file at the top of the Test directory. * Tips on writing Unit tests. @@ -112,7 +158,7 @@ bug in their runtime or something is misleading or wrong in their documentation. In this case, please put a detailed description of the problem to mcs/class/doc/API-notes and do also report it to the - mailing list - we'll forward this to the + mailing list - we'll forward this to the Microsoft people from time to time to help them fix their documentation and runtime. @@ -145,3 +191,83 @@ Normally, after you send a couple of well-written new files and/or patches to the list, you will be given cvs access. + +* Compiler tests + + Mono ships with three compilers: C#, VB.NET and JScript. The + tests are ran by running the makefile target `make + run-test-local' in the appropriate directory. + + The C# compilation tests live in mcs/tests, and the C# error + tests live in mcs/errors. + + The VB.NET compilation tests live in mcs/btests. + + +* Runtime Tests + + These tests verify the virtual machine, to run these tests, do: + +
+	cd mono/mono/tests
+	make test
+
+ + +* ASP.NET tests + + XSP, the Mono ASP.NET server has tests for ASP.NET pages. It uses + NUnitAsp. Right now + it only has standalone tests, ie., tests that do not need their own + global.asax or web.config files. + + If you want to run them, get the xsp CVS module and install it. Then: +
+	cd xsp/nunit-tests
+	make
+	cd standalone
+	xsp
+
+ + And from another terminal: +
+	cd xsp/nunit-tests/standalone
+	nunit-console standalone-tests.dll
+
+ + +* Web Services tests + + The Test directory for the System.Web.Services assembly contains a + standalone test suite for testing web services. It tests: + + + + This suite not only tests web services running on XSP, but it can also test + services running on other platforms and that are available in internet. This + will help track down interoperability issues. + + To build the test suite, just run: + +
+	cd mcs/class/System.Web.Services/Test/standalone
+	xsp --root server
+
+ + And from another terminal: +
+	cd mcs/class/System.Web.Services/Test/standalone
+	make
+	nunit-console testclient.dll
+
+ + This will download the wsdl documents, generate the proxies, build a dll with + the proxies, and build the nunit tests. Then you can use nunit-console or + gnunit to run the tests (the nunit dll is testclient.dll). + + Read the README file in mcs/class/System.Web.Services/Test/standalone for + more info.