gpt4 book ai didi

android - 如何在 Android 上使用 Hamcrest 匹配器和 jUnit

转载 作者:搜寻专家 更新时间:2023-11-01 07:36:43 27 4
gpt4 key购买 nike

我对 Android 有点陌生,并且已经为如何在我的测试项目中包含 Hamcrest 匹配器而苦苦挣扎了几个小时。代码看起来应该在 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;

public class AppDescLoaderTest extends InstrumentationTestCase {

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

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

我的理论是 hamcrest.jar 不与 .apk 文件一起使用,这就是它的类没有被加载的原因。如果是这样,我如何才能将它与 .apk 文件一起推送到 android?

最佳答案

假设您使用的是当前的 R17 工具,那么...

I've tried adding the hamcrest-all-1.2.jar as a Library and as an external jar. Same result both ways, code looks fine in IDE but fails to load classes at runtime.

第 1 步:撤消所有操作。

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

第 3 步:将您的 JAR 放入 libs/

你就完成了。这曾经只是命令行构建的秘诀,但现在也是基于 Eclipse 的构建的秘诀。

关于android - 如何在 Android 上使用 Hamcrest 匹配器和 jUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10095096/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com