Das Notes Forum
Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: Glombi am 17.08.05 - 09:09:02
-
Das habe ich gerade bei vowe gefunden...
Domiclipse is a tool for Domino developers who develop Domino databases in Java.
Domiclipse is a plugin for Eclipse which allows you to replicate your Java agents and script libraries to the Eclipse environment and then replicate changes back to Domino.
http://www.frunobulax.com/members/frunobulax/home.nsf/Home?readform
Andreas
-
Hmmm, klingt ja lecker.
Da opfere ich mich doch auch als alpha-Tester!!!!
Wenn das funzt, coole Sache...
Mal sehen, was rauskommt. Das werde ich dann hier mal posten.
Thomas
-
Gabs da nicht mal ein plug-in für IBM.
Wenn ich noch einmal Java Agenten in Notes programmieren müsste, würde ich vermutlich eine Klasse schreiben, die von aussen auf Notes zugreift und quasi einen Agenten zwecks Testen simmuliert.
Durch dieses plug-in ist weder junit-Testing noch debugging möglich.
Sieht für mich wieder wie ein Fall einer Loti-Consulting aus, die mit ein paar technischen Highlights (Eclipse-plug-ins, Code von Agenten von aussen in Notes reinschiessen) arbeiten, aber nicht zum Kern der Dinge vorstossen. Letzteres ist auch schwierig.
Unbeliebt bei mir als potentiellen Kunden machen die sich aber schon allein dadurch, dass sie in ihrer (Eclipse-)Feature-Liste allesmögliche aber nicht Refactoring erwähnen.
Was ich gut finde, ist das der den Charakter hat, das closed source/kommerziell anzubieten.
-
Durch dieses plug-in ist weder junit-Testing noch debugging möglich.
for those who don't know: Unit-Testing ist nicht irgendein spaßfeature von Consultings über den Wolken, sondern muy importante
Ich würd sagen, dass heute j.e.d.e.s professionelle Java Projekt Unit-Testing benutzt.
Bin selbst inzwischen dazu übergegangen, selbst für kleinere eigene Projekte mit Unit-Testing zu arbeiten.
Es gibt dazu gute Anleitungen. Das beste Starterbuch ist wohl das Buch aus dem Pragmatic Starter Kit von Andy Hunt und seinem Kollegen. Diese Pragmatic Reihe kann ich sowieso nur jedem empfehlen. Ich kauf mir alle 3 Monate eins von diesen und hab sie bald alle.
Künstlerisch wertvoller und mehr in die Tiefe geht das Rezept-Buch von Rainsberger.
Diese Unit-Testing Geschichte wird auch sowohl hinsichtlich Erweiterungen Dritter als auch im Core permanent weiterentwickelt. Es gab zwischendurch mal 2 Jahre Pause in der Weiterentwicklung von Junit selbst. Veranlasst durch bessere Features des Alternativ OpenSource-produkt TestNG wird aber zur Zeit an Junit weiterentwickelt.
Aber bereits das vorhandene möchte ich mittlerweile in keinem Projekt mehr missen, ausser es läßt sich in 4 Stunden schreiben (und für solche Projekte ist Java vermutlich die falsche Programmiersprache).
-
gefunden:
http://www-128.ibm.com/developerworks/lotus/library/notes-eclipse/
Damit ist remote Debugging aus Eclipse möglich.
Unit-Testing geht aber immer noch nicht.
-
Woran liegt es denn, dass man JUnit nicht verwenden kann?
-
In Junit muss die Klasse von Junit gemanaged werden. D.h. von Junit gestartet.
Ein Notes Agent benötigt um überhaupt laufen zu können Notes als Container/Runtime.
Und Junit ist nicht in Notes integriert.
Man kann höchstens in der setUp Methode des Junit-TestCases eine Verbindung zu NotesDatabase aufnehmen und den Agenten starten. Damit testet man aber nur die Main Methode. Ok. Ich gebe zu, dass dies auch die einzige sinnvolle public-Methode eines Notes Agenten ist. Aber die gibt void zurück. Und ein Notes Agent ist von aussen quasi stateless. Wenn ich mit Junit einen Agenten starte und dann nach dem Test ein Property überprüfen will, dann geht das nicht. Weil wenn Main retuniert ist, ist die Agenteninstanz quasi auch tod. Man könnte höchstens nach dem Laufen des Agenten bestimmte Dokument-Felder oder sonstiges überprüfen, um so zu verifizieren, dass der Agent gemacht hat was er sollte. Aber dann ist das nächste Problem: Wie stelle ich zur Wiederholung des Tests wieder das Ergebnis vor dem Lauf des Agenten her. Natürlich ist das *irgendwie* möglich. Aber es ist eben eine Menge Extra-Arbeit.
In einem Junit-Integrationstest gegen eine Relationale Datenbank zu erstellen, benötige ich einfach nur ein ant-build.xml target mit sql-Task, der die entsprechenden drop-tables, create tables und inserts durchführt. Und dann gibt es da noch fertige Erweiterungen, falls dies einem zu lange dauert (bei mir nicht der Fall).
Ich benutze Eclipse zunehmend nicht mehr als reiner Editor mit Code Completion, sondern um ein Ding, womit ich - in Verbindung mit so Sachen wie Junit und Ant - viele weitere Teile des Projektzyklus automatisieren kann (build, Integrationstest, Last-Test). Und ich find das spannend.
Schwieriges Junit Testing war auch immer ein Argument von POJO-Freunden gegenüber EJBs. Wobei es da jetzt bei EJB besserde Möglichkeiten gibt (kenn ich aber noch nicht).
-
@ Thomas
Sorry war ein paar Tage unterwegs.
Aber ich sehe du hast es auch ohne mein zu tun gefunden.
Gruß
Qojote