Test JNI

DEvent

Bekanntes Mitglied
Hallo,
ich habe eine JNI Bibliothek für eine Java Klasse geschrieben. Ich möchte aber gerne den JNI Code testen. Ich könnte die Java Klasse testen, aber solche Fehler wie vergessene ReleaseXxxArrayElements oder ReleaseStringChars werden dadurch ja nicht gefunden, oder sehr kompliziert zu testen, weil man die Klasse x-mal erstellen müsste, dann müsste man schauen ob die JVM immer mehr Speicher verbraucht usw. Man kann auch nicht von z.B. JUnit aus den C/C++ Code debuggen.

Also wie testet man JNI Code?
Man müsste ein pseudo JNIEnv übergeben und die nativen Funktionen der Java Klasse in einem C/C++ Test Framework testen lassen. Das Pseudo-JNIEnv müsste alle JNI Methoden irgendwie implementieren. Oder man startet eine JVM aus C/C++ aus und testet die nativen Funktionen damit.

Gibt es bereits eine Bibliothek oder Framework dafür?
Danke sehr.
 

Marco13

Top Contributor
Wüßte ich jetzt nicht. Hier gibt's ein paar Tipps, z.B. JVM-Parameter mit denen man trace- und debug-Informationen rausschreiben kann, aber da steht ein bißchen lapidar dabei, dass man sich für die Analyse der ausgegebenen Daten vielleicht ein Programm schreiben sollte...
 

DEvent

Bekanntes Mitglied
Wüßte ich jetzt nicht. Hier gibt's ein paar Tipps, z.B. JVM-Parameter mit denen man trace- und debug-Informationen rausschreiben kann, aber da steht ein bißchen lapidar dabei, dass man sich für die Analyse der ausgegebenen Daten vielleicht ein Programm schreiben sollte...

Ich bin doch nicht der einzige, der mit JNI programmiert. Wie machen das die von dem Java sqlite Adapter, oder MySQL JDBC Adapter, oder die von jogl?
Wie macht ihr das, hier haben doch sicher schon viele mit JNI programmiert?

Ich versuche zwar meinen JNI Code so klein wie möglich zu halten. Er besteht im Grunde aus Calls zu meiner C Bibliothek und meine C Bibliothek kann ich ja ausführlich testen. Es sind aber trotzdem die unvermeidbaren GetStringUTFRegion, GetByteArrayElements, ReleaseByteArrayElements, usw. die ich eben auch gerne testen würde, dass alles normal funktioniert.
 
T

Tomate_Salat

Gast
schon lange nichts mehr mit JNI gemacht, aber du kannst doch auch über [c]cout[/c],[c]printf[/c] daten auf der Console ausgeben. Da könntest du dir die Daten testweise ausgeben lassen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
W Checkliste Unit Test Allgemeine Java-Themen 17
M Archunit Test Allgemeine Java-Themen 0
O Test schreiben mit Äquivalenzklassen (Aufgabe Prüfung) Allgemeine Java-Themen 9
B Junit Test Allgemeine Java-Themen 8
P Karate API Test läuft nicht durch . initializationError Allgemeine Java-Themen 21
J Junit surefire: enrich test information Allgemeine Java-Themen 0
Gaudimagspam White-Box-Test /Glas Box Test Allgemeine Java-Themen 2
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
M Test geht auf Travis und mit Github Action schief aber nicht lokal Allgemeine Java-Themen 3
S Test mit Werten aus der .properties Allgemeine Java-Themen 4
T Weighted QuickUnion Test Allgemeine Java-Themen 5
S Zugriff auf jUnit Test Suite Runner-Instanzen innerhalb von Test Classes Allgemeine Java-Themen 7
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
S Eclipse TestNG Default Test umbenennen Allgemeine Java-Themen 0
F UI Test auf Jenkins Allgemeine Java-Themen 1
looparda Unit Test - Abgänigkeit zur Datenbank isolieren Allgemeine Java-Themen 3
K Test-Frist Programmierung - wie vorgehen Allgemeine Java-Themen 5
E JUnit wie Testergebnisse pro Test ("Test Report") erhalten? Allgemeine Java-Themen 1
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
R Unit Test Allgemeine Java-Themen 1
M JUnit Test Suites Allgemeine Java-Themen 2
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
E YQL Api Test - NullPointer Allgemeine Java-Themen 9
B JUnit4 Exception-Test Allgemeine Java-Themen 4
A eine test thread.join() frage Allgemeine Java-Themen 2
P Klassen Junit test funktioniert nicht... Allgemeine Java-Themen 11
W Frage zu Klassendesign und Test mit Mockito Allgemeine Java-Themen 5
G JUnit Test Methoden in anderen Thread verlagern Allgemeine Java-Themen 4
J JUnit, TestCase vs "einfacher" Test Allgemeine Java-Themen 3
1 JUnit Test Suit Allgemeine Java-Themen 2
B Test$1.class mit dem javac compiler Allgemeine Java-Themen 7
G Input/Output System.in "umbiegen" für junit-Test Allgemeine Java-Themen 4
K Unit Test consolen ein-/ausgaben. Allgemeine Java-Themen 7
S Theorie hinter Shape intersects Test..? Allgemeine Java-Themen 5
fastjack jUnit und Test von equals, hashCode, toString Allgemeine Java-Themen 11
D junit - frage zu fixtures/test suites Allgemeine Java-Themen 11
G JUnit Test Allgemeine Java-Themen 5
K Test-Code in Java-Klassen verstecken (wie mit Precompiler möglich) Allgemeine Java-Themen 10
J GUI Test Allgemeine Java-Themen 4
G Implementierung vom AKS-Test Allgemeine Java-Themen 11
N ClassNotFound Exception bei JUnit Test? Allgemeine Java-Themen 2
GilbertGrape Warum schlägt JUnit-Test fehl? Allgemeine Java-Themen 19
K Bekomme JUnit TEst nicht zum laufen :( Allgemeine Java-Themen 9
G Ant: <test/> Allgemeine Java-Themen 2
F Kasiski-Test in BlueJ Allgemeine Java-Themen 4
H Java Multiplicoice Test (Part 2) Allgemeine Java-Themen 5
H Java Multiplicoice Test (10 Fragen) Allgemeine Java-Themen 11
F Test für Localization Allgemeine Java-Themen 6
B JUnit - Gleichen Test x-mal durchlaufen Allgemeine Java-Themen 2
H References to generic type Test.A<typ> should be param Allgemeine Java-Themen 5
N Performance-Test (Geschwindigkeit von Methoden vergleichen)? Allgemeine Java-Themen 4
S Performance Test mit JMeter Allgemeine Java-Themen 2
B httpunit test Allgemeine Java-Themen 6
S HTTPUnit Test Fehler: Error on HTTP request: 500 Internal Er Allgemeine Java-Themen 9
M Test eines Programmes Allgemeine Java-Themen 4
B Primzahlen test Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben