我正在尝试对下面的课程进行测试:
包chapter03.backend;
import java.util.Map;
public class CharacterCounter {
public static Map<Character, Integer> countCharacters(String text) {
if (text == null) {
throw new IllegalArgumentException("text must not be null");
}
return null;
}
}
我写了这个测试类:
package chapter03.backend;
import static org.junit.Assert.*;
import org.junit.Test;
public class CharacterCounterTests {
@Test(expected=IllegalAccessException.class)
public void testNullInput() {
CharacterCounter.countCharacters(null);
}
}
当我运行它时,它会一直失败。以下是错误的屏幕截图:
我将很感激指出这一点。
答案 0 :(得分:2)
{ # match {
\\? # match \ optionally
" # match a double quote
([^}]+?) # match any character that is not a } (lazy match)
(?=\\?"}) # lookahead to assert we have optional \ followed by "}
不是IllegalAccessException
,也不是它的子类。
你确实在测试方法中抛出了IllegalArgumentException
但是在测试中断言IllegalArgumentException
被抛出。
因此,断言失败。
你应断言预期IllegalArgumentException
:
IllegalArgumentException