0

hi there I am trying to test my code java code with the JUnit test case but there is a problem with the tester
I don't know what it is, happy to get from your review and guides check this image to see the test failed message>>
test code with JUnit for java
ass you see in the I, age the test run failed
I do not know why happy to gee reviews and if you can guide me to fix the issue and make it run properly

here also the full java test runner failed message>>

Message:
N/A
Stack trace:
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821)
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
    at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
    at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:90)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:76)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:49)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:526)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)


Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 22 more
loai shark
  • 27
  • 5
  • Are you using maven or gradle to setup your project? Can you make sure, that hamcrest is added to your classpath? Also, see: https://stackoverflow.com/questions/14539072/java-lang-noclassdeffounderror-org-hamcrest-selfdescribing – Lesrac Dec 16 '20 at 22:40
  • I just have installed the junit.jar and hamcrest on my "referenced libraries"! did I need to make any other things? @Lesrac – loai shark Dec 16 '20 at 23:43
  • Can you post the code for me to reproduce the error if it's convenient? – Molly Wang-MSFT Dec 17 '20 at 06:34
  • `//import static org.junit.jupiter.api.Assertions.*; import java.util.Arrays; import org.junit.Test; import static org.junit.Assert.*; //import org.junit.jupiter.api.Test; class Ex3Test { @Test void testsum() { assertEquals(Ex3.sum(4, 5),9); }}` and the sum function on the Ex3.java return 4+5(which equals 9) maybe I need to import a package on my Ex3test.java?! – loai shark Dec 17 '20 at 12:35

1 Answers1

0
  1. Download hamcrest-2.2.jar and Add it to Referenced Libraries; enter image description here

  2. State the class Ex3Test and the method testsum as Public: enter image description here

Molly Wang-MSFT
  • 7,943
  • 2
  • 9
  • 22