gpt4 book ai didi

java - 为什么我导入的 containsString 方法不起作用?

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:47 24 4
gpt4 key购买 nike

为了进一步了解 TDD、IntelliJ 和 Java 本身,我编写了下面的简单 Java 脚本。

import java.util.ArrayList;
import java.util.List;

import org.junit.Before;
import org.junit.Test;

import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.both;

public class JUnit_Dummy {

private StringJoiner joiner;
private List<String> strings;

@Before
public void setUp() throws Exception {
strings = new ArrayList<String>();
joiner = new StringJoiner();
}
....

@Test
public void shouldContainBothStringsWhenListIsTwoStrings() {
strings.add("one");
strings.add("two");
assertThat(joiner.join(strings),
both(containsString("A")).
and(containsString("B")));
}

}
_____________

import java.util.List;

public class StringJoiner {
public String join(List<String> strings) {
if(strings.size() > 0) {
return (strings.get(0);
}
return "";
}
}

我试图在断言中使用“containsString”方法,但 IntelliJ 一直告诉我它“无法解析方法‘containsString(java.lang.String)”。尽管 jUnit 文档 ( http://junit.sourceforge.net/javadoc/org/junit/matchers/JUnitMatchers.html#containsString(java.lang.String) ) 告诉我此方法确实接受一个 String 参数。

我试过替换各种导入语句,包括以下内容:

import static org.hamcrest.Matcher.containsString;
import static org.hamcrest.Matcher.*;
import static org.hamcrest.CoreMatchers.*;

我得到的最好的结果是一条灰显的导入语句,告诉我该导入语句未被使用。不确定是什么问题,如有任何帮助,我们将不胜感激。

更新:

这是确切的编译器错误:

java: cannot find symbol
symbol: method containsString(java.lang.String)
location: class JUnit_Dummy

最佳答案

我以为我已经尝试了所有有值(value)的导入语句,但这个成功了:

import static org.junit.matchers.JUnitMatchers.*;

关于java - 为什么我导入的 containsString 方法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23984756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com