AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
12.08.20 - 05:31:28
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Java und .NET mit Notes/Domino (Moderatoren: Axel, m3)
| | |-+  Mock-Framework für JUnit Tests
« vorheriges nächstes »
Seiten: 1 [2] Nach unten Drucken
Autor Thema: Mock-Framework für JUnit Tests  (Gelesen 25802 mal)
MadMetzger
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1052


f.k.a. Alexis Pyromanis


« Antworten #20 am: 15.01.08 - 09:33:17 »

Das klingt so schonmal recht sinnvoll so. Ich hoffe, dass dir meine Hinweise oder auch Ideen weiterhelfen...
« Letzte Änderung: 15.01.08 - 09:34:48 von MadMetzger » Gespeichert

flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #21 am: 15.01.08 - 18:48:20 »

Ja klar.
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #22 am: 16.01.08 - 11:49:13 »

Werd die Infos in unseren Unternehmensblog stellen und den Code in dem Subversion System von Google Code. Das mit dem Blog eher Ende Januar, da der welcher wirklich gut Englisch kann zur Lotussphere fährt. Upload nach Subversion vermutlich nächsten Montag.

Heute nutzt das ein Junior Entwickler, der kein Java kann, für eine Aufgabe. Werd das mal beobachten. Schreib selbst noch ein anspruchsvolleres Beispiel mit Einbindung von JFreeChart (das erzeugt Diagramme wie Balken, Kuchen, etc.).   

Fertig:
die wichtigsten Methoden der Klassen Session, AgentContext, AgentBase, Database, View, ViewColumn, DocumentCollection, Item, Name.


Die nächsten 4 Wochen:
- Deklaration der Struktur der Umgebung (Session, Database, Ansichten, Ordner, vorhandene (Profil-) Dokumente mit XML (bisher macht man das über eine einfache Factory-Klasse).
- Funktionalität von Leser- und Autorenfeldern.
- Unterstützung von Unit-Tests für Code, der von aussen auf Notes zugreift und von LS2J.
- aus Backend-Methoden wie view.getFirstDocument(), etc., database.getDocumentByUNID() wird eine Kopie des Objekts zurückgeliefert (bisher nur Objekt selbst). So können auch Speicherkonflikte simuliert werden.
- Überprüfung von recycle-Aufrufen.
- Datetime-Klasse
. Attachments in Dokumenten.

Weitere Pläne:
- RichText
- DXL
- Agent
- Mime


Noch weitere Pläne:
- API komplett
- Unterstützung einer selbstgeschriebenen @formula Engine in Java mit dem ANTLR Parser-Generator Framework.
 
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
MadMetzger
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1052


f.k.a. Alexis Pyromanis


« Antworten #23 am: 16.01.08 - 11:56:24 »

Respekt Axel... Das ist ja schon richtig umfangreich, was du da hast... Die Sache mit der @Formula-Engine würde mich persönlich aber auch mal interessieren. Gib mir mal einen Wink, wenn du damit anfangen willst, evtl habe ich dann Zeit um da was mit dran zu machen.
Gespeichert

flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #24 am: 16.01.08 - 14:59:11 »

FTSearch will ich auch irgendwann machen. Mit Lucene. Damit können auch die meisten Attachments durchsucht werden.  Grin
Der Code ist aber zu weiten Strecken echt einfach. Das war mehr tippen als programmieren. Die Views (Selektion, Spalten und Sortierung) und die Interceptoren ist wirklich das einzige, was ein bischen komplexer ist.
 
Das Projekt ist auch internationalisiert und ich werd Übersetzungstabellen für Deutsch, broken englisch und gringo-Spanisch hinterlegen. Für die Korrektur der Übersetzungen und die Anlage neuer Übersetzungstabellen sind keine Programmierkenntnisse notwendig. Aber das ist eh Standard in vielen Java-Projekten.

Die Formelsprache-Engine in Java erfordert erst mal ein bischen konzeptionelle Arbeit. Zumindest hab ich ein ANTLR Buch. Der Domiclipse Entwickler hat versucht, ANTLR auf Lotus-Script anzuwenden. Die Reaktion auf meinen entsprechenden Vorschlag auf IDEA Jam war nicht so überragend. Ist aber klar, weil eben ziemlich tief programmatisch.
http://ideajam.net/IdeaJam/P/ij.nsf/0/6021FB054E497FFA862573CA0041C196?OpenDocument
« Letzte Änderung: 16.01.08 - 15:12:43 von Axel Janssen » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
MadMetzger
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1052


f.k.a. Alexis Pyromanis


« Antworten #25 am: 16.01.08 - 15:58:29 »

Naja, erstmal einen Schritt nach dem anderen. Aber die Parsergeschichte interessiert mich halt, von daher hatte ich mein Interesse geäußert. Der zunächst aufwändigste Part wird dann wohl die Grammatik für den Parser sein, denke ich mal. Aber danach muss man ja auch die @Funktionen implementieren, damit man auch interpretieren kann. Ich finde das sehr interessant, obwohl ich beruflich nichts mehr mit Notes zu tun habe. Das daraus gewonnene Wissen kann man ja garantiert an anderer Stelle weiterverwenden.
Gespeichert

flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #26 am: 29.01.08 - 10:21:43 »

Das zugegeben zur Zeit etwas schleppend weiterentwickelte Mockframework kann jetzt xml-Konfigurationsdateien zur Deklarierung der "Umgebung" einlesen.

Unter Umgebung verstehe ich so Sachen wie Datenbanken, Ansichten, Ordner, Dokumente.
Java-Agenten, LS2J Zeugs oder externe Javaprogramme, die mit dem Framework entwickelt und testbar gemacht werden sollen erwarten ja so etwas wie eine Umgebung.

Hier eine Beispiel-Konfigurationsdatei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<declaration>
<database title="music" path="music.nsf">
<view name="byYear" formula="form={music}">
<column title="year" formula="year" sort_policy="ASCENDING"
type="int" response="false" />
<column title="type" formula="type" />
<column title="artist" formula="artist" />
<column title="title" formula="title" />
</view>
<view name="all" formula="@all">
<column title="form" formula="form" sort_policy="ASCENDING" />
</view>
<folder name="wantHear" formula="form={music}">
<column title="artist" formula="artist"
sort_policy="ASCENDING" />
<column title="title" formula="title"
sort_policy="Ascending" />
<column title="year" formula="year" />
<column title="type" formula="type" />
</folder>

<profile form="profile">
<item name="aProfField">
wert
</item>
</profile>

<document form="music">
<item name="year" type="NUMBERS">1835</item>
<item name="artist">Robert Schumann</item>
<item name="type" sep=",">Clasic, Romantic</item>
<item name="title">Von fremden Ländern und Menschen</item>
</document>

<document form="music">
<item name="year" type="NUMBERS">1977</item>
<item name="artist">Joy Division</item>
<item name="type" sep=",">Pop</item>
<item name="title">Control</item>
</document>





</database>

</declaration>

Damit werden dann in der Umgebung die im xml deklarierten Datenbank(en), die Ansichten, die Profildokumente, die Ordner und die Dokumente angelegt.

Hier ist Testcode, der die obige xml einliest:
Code:

MockFactory fac = MockFactory.getInstanceXmlDecl("mockfactory.xml");
Session s = fac.getSession();
Database db = s.getDatabase("", "music.nsf");
View vw = db.getView("byYear");
;
System.out.println(vw.prettyPrint());


Hier ist das Ergebnis vom System.out des Testcodes:
Code:
Datenbank=music(music.nsf)
Ansicht=byYear, Selektionsformel=form={music}

year|type            |artist         |title                           |
____|________________|_______________|________________________________|
1835|Clasic, Romantic|Robert Schumann|Von fremden Ländern und Menschen|
____|________________|_______________|________________________________|
1977|Pop             |Joy Division   |Control                         |
____|________________|_______________|________________________________|


Sobald sich das xml stabilisiert, werd ich dafür ein xml-Schema schreiben. So kann leichter validiert werden, ob die Eingaben des Benutzers im xml ok sind. 
Xml ist natürlich ein ziemlich geschwätziges Format, aber man kann da prima mit copy und paste arbeiten und es ist eben ziemlich selbsterklärend.
Ich denke auch darüber nach DXL einlesen zu können, das kommt aber später.
« Letzte Änderung: 29.01.08 - 10:24:47 von Axel Janssen » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
m3
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8094


Non ex transverso sed deorsum!


WWW
« Antworten #27 am: 06.02.08 - 14:36:29 »

Falls noch nicht bekannt:

Zitat
Using easymock for disconnected Domino Java testing

For his testing he would rather not connect to the Domino server all the time, but instead mock up objects to make sure that his other code works correctly. Enter EasyMock, which is a JAR file which you can include in any project that basically pretends to be whatever object you want it to be.

http://www.11tmr.com/11tmr.nsf/d6plinks/MWHE-7BKDJC
Gespeichert

HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #28 am: 11.02.08 - 10:35:15 »

Das ist natürlich auch eine Lösung.
Je mehr Logik auf Domino selbst zugreift, desto löchriger und anstrengender wird dieser Ansatz mit JMock.
Werd noch diese Woche hochladen.
Bin noch ziemlich an kämpfen mit einer Ajax Anwendung, die budgetonisch aus dem Ruder gelaufen ist und einem Java-Kurs, den ich hier intern gebe.
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
StephanKoo
Frischling
*
Offline Offline

Beiträge: 2


« Antworten #29 am: 21.03.14 - 10:40:36 »

Moin,

kann man das Ergebnis nutzen? Der Thread hörte irgendwie so plötzlich auf.

Danke
   Stephan Koops
Gespeichert
klaussal
Gast
« Antworten #30 am: 21.03.14 - 10:53:59 »

Das ist 6 Jahre her..... Shocked
Gespeichert
StephanKoo
Frischling
*
Offline Offline

Beiträge: 2


« Antworten #31 am: 21.03.14 - 10:58:19 »

ja, ich weiß, aber vielleicht ist das Ergebnis ja trotzdem nutzbar.
Gespeichert
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #32 am: 26.03.14 - 15:01:07 »

Hab den code nicht mehr. Habs für ein Projekt genutzt. War aber dafür overkill. Danach hab ich afaik kein einziges Notes Projekt mehr gemacht.
Ich glaub, dass man sowas heute nicht mehr braucht. Hast Du mal versucht NotesJava Klassen mit mockito zu mocken? 
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
Seiten: 1 [2] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: