当前位置: 首页 > 知识库问答 >
问题:

如何在Android上使用Hamcrest matchers和jUnit

凌恩
2023-03-14

我对Android有点陌生,几个小时以来一直在努力研究如何将Hamcrest matchers包括在我的测试项目中。代码看起来应该在Eclipse中运行,没有指示的错误。但是当我运行测试时,Hamcrest类没有加载。我得到“NoClassDefFoundError:org.hamcrest.Matchers”。

在过去的3个小时里,我一直在浏览论坛,发现有人以前遇到过这种情况,但运气不好。我一定是在做傻事,因为IDE可以看到类,但运行时却看不到。

以下是测试来源:

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import org.hamcrest.Matcher;
import android.test.InstrumentationTestCase;

html" target="_blank">public class AppDescLoaderTest extends InstrumentationTestCase {

  public void testHamcrest() {
    assertThat(3, equalTo(3));
  }
}

我已经尝试添加hamcrest-all-1.2。jar作为库和外部jar。两种方法的结果相同,代码在IDE中看起来很好,但在运行时无法加载类。

我的理论是汉克雷斯特。坛子不跟桌子一起走。apk文件,这就是它的类没有被加载的原因。如果这是真的,我该如何将它与其他应用程序一起推送到android上呢。apk文件?

共有1个答案

富建章
2023-03-14

假设你在当前的R17工具上,那么...

我已经尝试添加hamcrest-all-1.2。jar作为库和外部jar。两种方法的结果相同,代码在IDE中看起来很好,但在运行时无法加载类。

第一步:撤销所有这些。

步骤#2:在项目的根目录中创建一个libs/目录。

步骤#3:将JAR放在libs/中。

你就完了。这过去只是命令行构建的方法,但现在也是基于Eclipse的构建的方法。

 类似资料:
  • 问题内容: 在浏览Android WebView文档时遇到了ServiceWorkerController,并决定尝试一下。不幸的是,我无法截获任何电话。我知道WebViewClient.shouldInterceptRequest,但有兴趣了解有关ServiceWorkerController的更多信息。不幸的是,这些文档比我下面已经实现的稀疏。任何帮助,将不胜感激。 我整理了一个由单个Acti

  • 问题内容: 如果我没记错的话,Android准则说您应该将ActionBar用于应用程序内的全局导航。 但是同时,您通常希望定位最古老的API,以实现最大的兼容性。 我正在开始开发应用程序,并将目标设置为Android 2.2。 是否可以在此处使用操作栏?如果没有,我该怎么用? 谢谢凯文 问题答案: 使用ActionBarSherlock。 确保您的项目使用Android 4.0+作为构建目标,并

  • 我正在尝试使用QT的NFC模块读取我的Android手机上的NFC标签。 根据这一页面,Qt将从5.6版本开始在Android上支持NFC。这个版本还没有发布,所以我按照本页上的说明,从源代码处构建了它,并将它安装在Qt Creator中。 我一定是错过了什么... 更新1 似乎需要修改AndroidManifest.xml文件。我尝试了不同的方法,但似乎都没有产生预期的效果。只有当清单定义如下所

  • 我有一个React Native应用程序,正在使用jest Appium Jest进行测试,以在真实设备上运行,适用于Android和IOS。 我正在使用Appium和库的WebDriveAPI。 我需要在屏幕上接受两个平台的警报。 对于IOS,似乎使用以下代码是可行的: 然而,它不适用于Android。 搜索解决方案后,我来到了这个主题:如何在appium中接受此警报? 这里指出的解决方案使用J

  • NNAPI在android 8.1上可用。但我想在android 7上使用NNAPI 我在哪里可以下载libneuralnetworks.so?

  • 我尝试从Android Studio构建Android应用程序。 我尝试从Android Studio安装程序安装HAXM,但出现错误: 英特尔虚拟化技术已在我的 BIOS 中启用。超级V已经在Windows 10上禁用。