JUnit @Test expected annotation not working(JUnit @Test 预期的注释不起作用)
问题描述
我有以下测试:
@Test(expected = IllegalStateException.class)
public void testKey() {
int key = 1;
this.finder(key);
}
但是 JUnit 报告说,测试失败,尽管它抛出了 - 正如预期的那样 - IllegalStateException
.
But JUnit reports, that the test fails, although it throws — as expected — an IllegalStateException
.
我必须配置其他东西才能运行吗?
Do I have to configure something else to make this run?
我现在运行测试
@RunWith(Suite.class)
@SuiteClasses(Test.class)
public class TestSuite {
}
像 这个问题,但仍然没有得到想要的结果.
like in this question, but am still not getting the desired result.
当我删除 test
前缀时,我仍然收到错误消息.
And when I remove the test
prefix I'm still getting an error.
我得说我使用 Eclipse 运行这些测试,但它被配置为使用 JUnit 4 Runner.
I gotta say that I run these tests with Eclipse, but it's configured to use the JUnit 4 Runner.
推荐答案
问题是,嵌套测试的类是 TestCase
的扩展.由于这是 JUnit 3 样式,因此注释不起作用.
The problem was, that the class in which the test was nested was an extension of TestCase
. Since this is JUnit 3 style, the annotation didn't work.
现在我的测试类是一个独立的类.
Now my test class is a class on its own.
这篇关于JUnit @Test 预期的注释不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:JUnit @Test 预期的注释不起作用
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- Eclipse 插件更新错误日志在哪里? 2022-01-01
- C++ 和 Java 进程之间的共享内存 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01