A Gambas component for unittesting and test-driven programming. Forked and inspired from a quite old program: [COMUnit](http://comunit.sourceforge.net) and mainly JUnit. Currently beta state. With an unittest component one can develop software in a test-driven matter and is able to ensure that on refactoring the desired results of methods and classes stay the same.
Here you can see the Unittest tests itself. The test classes have to produce some failures and one error, to prove, that all works ok. Usually the testclasses' names should start with "_GuTest" but for testing itself Unittest uses an alternate prefix ("_MyselfGuTest").
It is a component. To make it work, you have to generate an installation package for your distribution with Gambas3 (min. Version 3.8.) and install it on your Linux system. After that you can use it in all your projects as a component.
You should create a exported class with a name starting with "_GuTest", for example "_GuTestHelloWorld", it contains one or more public testmethod(s):
----
'Class _GuTestHelloWorld
'Test HelloWorld
Export
Inherits ATestContainer
Public Sub TestHelloWorld()
Me.Result.AssertEqualsString("Hello World", Hello.World(), "Strings should be equal")
End
----
### Module(Function) to test:
To make it work, a function "World" in a module "Hello" in your project must exist:
----
' Gambas module file
Public Function World() As String
Dim w As String
w = "Hello World"
Return w
End
----
### Invite Unittest
The simple way to execute the Unittest is, to create another Module, name it Test and make it a a Gambas Startclass:
----
'Module Test
'Starts the Unittest
Public Sub Main()
Dim U as New Unittest
U.Test
End
----
If you did this all correctly and now Hit <F5> on your keyboard, gambas will execute the startfunction in module Test and presents the test result in the console:
----------------------- Test Results -----------------------