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.
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.