首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为崩溃的JNI调用编写JUnit测试?

如何为崩溃的JNI调用编写JUnit测试?
EN

Stack Overflow用户
提问于 2011-06-14 21:58:26
回答 2查看 1.1K关注 0票数 3

我正在修复一个JNI调用,它现在崩溃了。为了成为一名优秀的测试驱动开发实践者,我创建了一个JUnit测试来复制这个问题,它做得很好。

但是,由于崩溃,JNI调用永远不会返回。可以编写一个JUnit测试来报告JNI崩溃的失败吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-17 04:56:46

如果您的JNI正在使JVM崩溃,那么从junit进行测试肯定会很困难。例如,你不能为SIGSEGV挂接一个信号处理程序,JVM就会死掉。

如果是我,我会稍微改变一下,创建一个简单的Java类,它有一个调用崩溃的本机代码的Main,在我的junit测试中,我将执行一个新的Java运行时实例,该实例使用Runtime#exec运行包装类。

然后,您可以等待结果进程完成,并检查其返回代码-如果返回码不为零,则说明执行中存在问题。

票数 4
EN

Stack Overflow用户

发布于 2011-06-16 05:50:08

如果您使用的是JUnit4,请尝试使用超时参数:http://junit.sourceforge.net/javadoc/org/junit/Test.html,否则使用类似于:http://netbeans.org/kb/docs/java/junit-intro.html#Exercise_243的参数

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6344674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档