Java 是否可以使用JNA/JNI访问应用程序的运行实例?

Java 是否可以使用JNA/JNI访问应用程序的运行实例?,java,testing,java-native-interface,jna,Java,Testing,Java Native Interface,Jna,我正在为一个Java应用程序编写一个测试引擎,其中一些代码是用C编写的。这个应用程序使用JNI访问它的本机部分 在我正在编写的引擎中,我使用Fest控制de UI并执行测试。然而,我在处理用C编写的部分时是盲目的。我想知道我是否可以使用JNA或JNI来访问应用程序的本机部分。我认为应用程序已经在运行这一事实在这里是一个巨大的问题。您可以使用(以及像和这样的工具)和访问正在运行的java应用程序 所有这些都有点复杂。。。最有用的是第一个。您希望如何“访问”它?(无论语言是java还是c)您想要类似

我正在为一个Java应用程序编写一个测试引擎,其中一些代码是用C编写的。这个应用程序使用JNI访问它的本机部分


在我正在编写的引擎中,我使用Fest控制de UI并执行测试。然而,我在处理用C编写的部分时是盲目的。我想知道我是否可以使用JNA或JNI来访问应用程序的本机部分。我认为应用程序已经在运行这一事实在这里是一个巨大的问题。

您可以使用(以及像和这样的工具)和访问正在运行的java应用程序


所有这些都有点复杂。。。最有用的是第一个。

您希望如何“访问”它?(无论语言是java还是c)您想要类似java反射API的c语言吗?编写的部分是c,它有一个函数,可以返回字符串格式的XML。我想调用这个函数并在我的测试引擎中获取这个字符串。我想是的,这是一种反思方式。你能更具体地说明这个应用程序做什么和你想做什么吗?这个应用程序是一个图形应用程序。它有一些用Java完成的功能,还有一些用C实现的功能。应用程序的Java部分通过JNI访问C部分。我也想访问C部分,但从我的测试引擎。我可以在引擎中使用Fest访问Java部件。但是,我找不到访问C部分的方法。简单地将C代码视为一个黑盒,对于给定的输入,验证输出是否正确。这不会给您提供完整的覆盖范围,但是如果您包括边界条件,您应该能够制定一组好的测试。只需用Java创建所有测试,忘掉C部分。