Konsistenz & Tests

Autor: Alexander Treptow [minf2622]
Stand: 26.11.2006
 

...
[ Seminar "Betriebssysteme, Werkzeuge für das Web und Programmiersprachen" ] ... [ Inhaltsübersicht ] ... Fazit & Aussichten ...

Übersicht: Konsistenz & Tests


Validation

Einträge, die in Instanzen von Domain-Klassen gemacht wurde können mit Hilfe von "constraints" auf Validität überprüft werden. Dazu legt man in der Domain-Klasse eine "constraints"-Closure an, die Einträge der Instanz werden dann überprüft, wenn man die Instanz mit der "validate"-Methode aufruft. Dies ist auch über die "save"-Methode möglich, da diese die "validate"-Methode verwendet.

class User {
    String login
    String password
    String email

    def constraints = {
        login( length : 5..15 , blank : false , unique : true )
        password( length : 5..15 , blank : false )
        email( email : true , blank : false )
    }
}
    def user = new User()

    user.validate()

    user.save()

Es gibt noch einige vordefinierte Überprüfungsroutinen mehr, diese findet man hier.


Testing

Unit-Testing in Groovy ist ähnlich wie das Testen mit JUnit. Man erstellt eine Klasse im Verzeichnis "grails-test", diese muss auf "Tests.groovy" enden und "GroovyTestCase" erweitern. Eine Testklasse könnte ungefähr so aussehen:

class BookTests extends GroovyTestCase {

    def testValid() {
        def b = new Book( title : "Groovy in Action" , author : "Dierk Koenig" )

        assert b.validate()
    }
}

Die Testklasse kann dann über das Kommando "grails test-app" gestartet werden.

Funktionales Testen ist mit dem Canoo Webtest möglich. Canoo.com


... [ Seminar "Betriebssysteme, Werkzeuge für das Web und Programmiersprachen" ] ... [ Inhaltsübersicht ] ... [ Top ] ... Fazit & Aussichten ...