Jetzt hab ich endlich Zeit.
Die Mock-Klassen Item und Document sind schon relativ komplett. Geb mir echt Mühe, es richtig zu machen. Gibt eine Menge Details (das nicht sehr Java kompatible Typ System, Response-Beziehungen, etc).
Werd wohl auch die Kandidaten (Agent, DateTime, DateRange und Stream).
Hoffe am 6.1. relativ weit zu sein und kann dann meinen Arbeitgeber fragen, ob wir das openSourcen können (wird wohl klappen).
Mein entsprechender Vorschlag auf idea jam brachte sehr gemischte Reaktionen.
http://tinyurl.com/2bqjleIts because the naysayers just don't get it.
Es bringt nämlich unmittelbare und sehr offensichtliche Vorteile für den Prozess zur Entwicklung von Java-Agenten, Java-Skriptbibliotheken und Code für Notes-Zugriff.
Und ist auch für verschiedene Zielgruppen an Entwicklern gerichtet
Gruppe A: Java Programmierer ohne viel Notes Erfahrung
Gruppe B: Notes Entwickler ohne viel Java oder Unit-Testing Erfahrung
Gruppe C: Angeber, die behaupten sowieso alles zu können
Wenn Gruppe B keine Lust auf Junit-Tests hat, kann man das Mock-Framework sogar benutzen, ohne überhaupt selbst Junit-Tests zu schreiben. Es ist einfach ein Nachbau der Notes Api und der Notes-Datenbank-Struktur, die völlig ohne Notes und sehr gut in Eclipse, Netbeans, Intelij-IDEA, etc. lebt.
Der Code kann direkt in einer IDE geschrieben und getestet werden und wird dann erst am Ende in die reale Notes-Datenbank exportiert.
Ansonsten ist es heute zwar sehr einfach Notes-Java Code in Eclipse zu schreiben und das dann auch in Notes importieren. Der Bruch findet nur immer dann statt, wenn man testen will. Das importieren selbst sind zwar wenige aber immerhin Handgriffe. Ausserdem kann man nur remote debuggen und das macht überhaupt keinen Spaß.
Mit dem Framework kann man lokal debuggen und nahtlos code-schreiben / testen.
Für Unit-Test aficionados kommt natürlich die Möglichkeit von Test Driven Development und das Vorhandensein eines Regressions-Test-Sicherheits-Netz hinzu.
Inzwischen gibts übrigens ein Projekt auf openNTF, das auf Unit-Testing für LotusScript abzielt (
http://tinyurl.com/ypdm3t). Werd das auf jeden Fall ausprobieren. Kann mir nicht vorstellen, dass das Sinn macht. Das können aber Vorurteile sein.
Gruß Axel