assertThat: 如何反转包含字符串的方法

问题描述 投票:0回答:1

我有一个断言,检查当前选中的文本中是否有字符串。

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

有什么方法可以做到这一点?

java hamcrest
1个回答
1
投票

对我来说,这是在工作,并引发一个错误。

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)));
  }
}

1
投票

你可以切换到 AssertJ 再用

assertThat(latest.getText()).doesNotContain(targetString);
© www.soinside.com 2019 - 2024. All rights reserved.