- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Win 7 并从以下位置下载了 Junit 4.13 和 hamcrest 2.1 https://github.com/junit-team/junit4/wiki/Download-and-Install
并将它们放在C下一个名为JUnit的文件夹中。
我添加了变量:JUNIT_HOME,值为 C:\JUnit。
我还在类路径中添加了以下内容:
%classpath%;.;C:\Program Files\Java\jre1.8.0_171\bin;%CLASSPATH%;
%JUNIT_HOME%\junit-4.13-beta-1;.; %JUNIT_HOME%\hamcrest-core-2.1.jar;
正在关注 https://github.com/junit-team/junit4/wiki/Getting-started ,我将 java 文件 Calculator.java 和 CalculatorTest.java 添加到我的练习文件夹中。
命令
javac -cp .;junit-4.13-beta-1.jar;hamcrest-core-2.1.jar CalculatorTest.java
执行成功。但是,命令
java -cp .;junit-4.13-beta-1.jar;hamcrest-core-2.1.jar org.junit.runner.JUnitCore CalculatorTest
失败,给出如下错误信息
Exception in thread "main" java.lang.NoClassDefFoundError:
org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.junit.runner.Computer.getSuite(Computer.java:28)
at org.junit.runner.Request.classes(Request.java:77)
at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitComma
ndLineParseResult.java:116)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 17 more
请注意,我已经检查过类似 java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing 的帖子, 但他们没有帮助。你能帮忙吗?
最佳答案
正确的 hamcrest jar 是 hamcrest-2.1.jar
,而不是 hamcrest-core-2.1.jar
。您可以从here下载。 .
根据提到guide假定您已将 jar 下载到与您的项目相同的包中:
Create a new folder junit-example and download the current junit-4.XX.jar from JUnit's release page and Hamcrest to this folder.
如果您决定单独放置 jars 可能需要相应地更正命令行以从 %JUNIT_HOME%
获取这些 jars 文件:
java -cp .;%JUNIT_HOME%\junit-4.13-beta-1.jar;%JUNIT_HOME%\hamcrest-core-2.1.jar org.junit.runner.JUnitCore CalculatorTest
关于JUnit - java.lang.NoClassDefFoundError : org/hamcrest/SelfDescribing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54465976/
我有两个Collection我需要使用 hamcrest 进行比较: public class Dumb { private String id; //setters & getter
Hamcrest 提供了许多匹配器来断言集合的内容。所有这些情况都通过: Collection c = ImmutableList.of("one", "two", "three"); assertT
Hamcrest 存储库包括 org.hamcrest.io.FileMatchers(参见 https://github.com/hamcrest/JavaHamcrest/tree/master/
方法 org.hamcrest.CoreMatchers.is() 已弃用。 doc说要改用 - org.hamcrest.CoreMatchers.isA()。 但是 isA() 似乎一起服务于
看起来 hamcrest org.hamcrest.Matchers 类与 org.hamcrest.CoreMatchers 非常相似(尽管它看起来像 Matchers有更多的)。为什么我会选择使用
我正在开发一个 Eclipse 4 RCP 项目,其中包含一个插件包和一个用于单元测试的包片段。目标平台是使用 Eclipse 目标定义(.target 文件)来定义的。 Maven 与 Tycho
安卓工作室 3.6 应用程序/build.gradle: androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidT
安装Android Studio并启动一个简单项目后。我从另一台计算机复制了sdk和gradle文件夹时出现" Error:Could not download hamcrest-core.jar (
您好,我是新手,请放心并尝试在 BDD 中执行此操作,为此,我在尝试运行时编写了一个脚本,出现了下面提到的错误 [ERROR] COMPILATION ERROR : [INFO] ---------
我正在尝试编写一个自定义匹配器,该匹配器深入对象图以检查重要属性。 assertThat( writeRequest, hasRole("admin") ); 当这失败时,我希望看到如下消息: Exp
我最近试图在其中一项测试中断言不平等。但是我无法在hamcrest中找到合适的匹配器。 我理想地想要做的是类似的事情。 assertThat(2 , isNot(3)); 有什么办法吗? 最佳答案 你
在我们的一个项目中,我偶然发现了以下代码行(它使用 hamcrest 匹配器 1.3): assertThat(someReport.getSomeException(), Matchers.notN
rules=[{type:"path", value:"abc"},{type:"cookie", value:"xyz"}, ...] 我想查找数组是否包含具有属性(type=path 和value
我想要一个简单的 hamcrest 匹配器来查找 List 中对象的重复项。这是我写的 for (QuizEntity quiz : quizzes) for (Questio
我有两个 Collection 集合: Collection pendingAudits; Collection olderAudits; 所以,我需要比较 pendingAudits 中的所有 ol
有没有办法在不扩展库的情况下使用 Hamcrest 测试预期值是否为数字? 我在想这样的事情: assertThat(expectedValue).isNumber(); 此外,值得一提的是,
虽然英语不是我的母语,但我仍然认为来自 Hamcrest 的以下错误消息是错误的。 我有以下验证方法: private void validateReturnedCode() { List e
rules=[{type:"path", value:"abc"},{type:"cookie", value:"xyz"}, ...] 我想查找数组是否包含具有属性(type=path 和value
我正在尝试构建 https://github.com/jenkinsci/jira-trigger-plugin并且在与时间/日期相关的测试中失败: expect commentEvent.issue
我可能在这里遗漏了一些非常明显的东西,当我看到它时,我会打自己的耳光。 我正在尝试使用 Hamcrest 测试返回 Enum 的方法的输出: @Test public void testGetBuil
我是一名优秀的程序员,十分优秀!