With @nitind help, I could solve the problem.
Because I did not know what is module path and google it.
I ended up reading this post and in that post it says
There is one special case: If you have a module-info.java in your
  project and have test code in your project, you usually don't want to
  mention test dependencies like junit in the module-info.java. There
  are two solutions for this:
Create a dedicated test module. This has always been the convention
  for osgi-based projects. Disadvantage is that you can only use public
  api in your tests
The solution used by maven: Put your test dependencies on the
  classpath. When compiling test code, maven adds command line options
  that allow the code in the named module to read the unnamed module
  (which is not possible via the module-info.java).
So, as it says I made dedicated test module like the picture below.

- Right click the test module
- Go Build Path > Configure Build Path
- Then toggle Contains test sources: Noto Yes
- Check Allow output folders for source folders
- Change the Output Folder to test(or anywhere you want other than you default (bin))

Run the test and the test should work from now.