Java assertThat:如何反转containssString

Java assertThat:如何反转containssString,java,hamcrest,Java,Hamcrest,我有一个断言,用于检查当前所选文本中是否存在字符串: import static org.junit.Assert.assertThat; import static org.hamcrest.Matchers.containsString; assertThat(latest.getText(), containsString(targetString)); 但是我找不到正确的方法来编写一个断言来检查文本中是否包含字符串 我试过了 assertThat(latest.getText(), n

我有一个断言,用于检查当前所选文本中是否存在字符串:

import static org.junit.Assert.assertThat;
import static org.hamcrest.Matchers.containsString;
assertThat(latest.getText(), containsString(targetString));
但是我找不到正确的方法来编写一个断言来检查文本中是否包含字符串

我试过了

assertThat(latest.getText(), not(containsString(targetString)));
但是我犯了一个错误

the method not(Matcher <String>) is undefined
方法not(匹配器)未定义

怎么做?

您可以切换到
AssertJ
,然后使用

assertThat(latest.getText()).doesNotContain(targetString);

对我来说,这是可行的,并引发了一个错误:

import static org.junit.Assert.assertThat;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not;

class Main {
  public static void main(String[] args) {
    String test = "qwerty";
    String contained = "ert";
    assertThat(test, not(containsString(contained)));
  }
}

not
是导入的
org.hamcrest.Matchers.not
!containssString(targetString)
否:我也尝试过,但它显示“操作员!未定义matcher类型matcher“谢谢你,Joe,这确实有效。”。我投了一票,因为a不能接受这个答案。