Question

Here is my code

import org.junit.Test;

import static org.junit.Assert.assertThat;
import static sun.nio.cs.Surrogate.is;

public class PlayerTest {
  public void should_return_3_when_status_is_3(){
        Player player = new Player();
        assertThat(player.getStatus(),is(3));
    }
}

And here is the trace

Can't find symbol
符号: method assertThat(int,boolean)
位置: class PlayerTest

my iml file is

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module-library" scope="TEST">
      <library>
        <CLASSES>
          <root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.10.jar!/" />
        </CLASSES>
        <JAVADOC />
        <SOURCES />
      </library>
    </orderEntry>
  </component>
</module>

I think I used it before,but it not works now. Have no clue about what to do.However assertTrue is working. Ubuntu 11.04 is being used.

Was it helpful?

Solution

The mistake is in

import static sun.nio.cs.Surrogate.is;

is() should return a matcher, but whatever this is, it returns boolean. Try org.hamcrest.Matchers.is or org.hamcrest.CoreMatchers.is instead.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top