Rej*_*eji 6 java java-native-interface unit-testing
我正在寻找用于单元测试JNI源代码的工具或解决方案.到目前为止,我的搜索购物车还没有找到任何单元测试JNI代码的解决方案.
我有的选择是在java中编写单元测试并进行本机调用,验证返回值.这里的问题是我无法获得代码覆盖率报告.对本机实现的调用需要由本机存根实现进行模拟或支持.
java测试代码(调用)---> DLL(JNI)中的本机实现---> Mocked/Stubbed C++代码
如果有任何解决方案,请分享.
实际上没有任何全面的工具可用于自动构建和测试 JNI 代码。我尝试做的是创建一个独立的本机库,我可以使用Automake 等构建系统中的MinUnit之类的东西进行单元测试。然后,使用我创建的一些名为JNITasks的自定义任务,在来自 Ant 的 Java 代码之后编译我实际的 JNI 相关代码,然后通过 JUnit 进行测试,就像测试任何其他 Java 类一样。
我认为不可能通过 JUnit 获得本机代码的本机代码覆盖率报告。我尝试通过仅处理将 Java 输入转换为本机库可以理解的内容所需的内容来使 JNI 层尽可能薄,反之亦然。这应该使本机方法的 JUnit 测试相当简单。所有复杂的本机测试都应该在编译后备库之后进行,独立于 JUnit。您也许可以从您决定使用的本机测试框架获取代码覆盖率报告。
| 归档时间: |
|
| 查看次数: |
2375 次 |
| 最近记录: |