【问题标题】:how to junit test callback from jni code如何从 jni 代码 junit 测试回调
【发布时间】:2013-11-10 13:25:44
【问题描述】:

这是我得到的场景:

我已经为一个使用 c++ 库的 Android 应用程序编写了 Java 代码。因此 Java 代码使用 JNI 以便能够使用该库。 Java 代码调用 JNI 层中的方法来调用库方法。问题是这些方法没有为我正在进行的调用返回值,因为它是用于网络的东西,所以在 JNI 层我异步接收一些事件,我通过使用回调将这些事件发送到 Java。 我的问题是,我怎样才能对这个功能进行junit测试?我的意思是,我如何测试我从 Java 调用本机方法并在从 JNI 调用的回调中接收到预期结果? 我希望我已经正确解释了自己,如果您有任何不明白的地方,请随时提问。

【问题讨论】:

    标签: java android c++ junit android-ndk


    【解决方案1】:

    您可能可以将回调设置为您的 JUnit 类的函数,然后从您的 JUnit testSmth() 函数调用您的 API,然后等待某个锁定直到回调发生。 在回调中,您通知锁定,因此您的testSmth() 停止等待并继续进行并调用,例如,success()。 您可以拨打lock.wait(timeout),因此如果超时到期,您可以从testSmth() 拨打fail()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-23
      • 2019-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多