我在eclipse中有以下测试用例,使用JUnit 4,它拒绝通过。可能是什么问题?
@Test(expected = IllegalArgumentException.class) public void testIAE() { throw new IllegalArgumentException(); }
字符串这个测试用例是在我试图用预期的标记测试我自己的代码时产生的,我想看看JUnit是否能通过最基本的测试,但它没有。我还测试了自定义异常,没有运气。
截图:
yqhsw0fo1#
问题是nnounceThreadTest扩展了TestCase。因为它扩展了TestCase,所以JUnit Runner将其视为JUnit 3.8测试,并且测试正在运行,因为它以单词test开头,隐藏了@Test注解实际上根本没有使用的事实。要解决这个问题,请从类定义中删除extends TestCase。
nnounceThreadTest
TestCase
@Test
extends TestCase
hsvhsicv2#
您可以添加此扩展来使用支持注解的Junit 4运行测试用例,而不是删除extends TestCase。@RunWith(JUnit4.class)
wrrgggsh3#
我刚刚使用JUnit 4.4在IntelliJ中运行了以下代码:
@Test(expected = IllegalArgumentException.class) public void testExpected() { throw new IllegalArgumentException(); }
字符串完美通过。重新构建整个项目,然后再试一次。还有一些地方你做错了。JUnit 4.4正像广告上说的那样工作。
3条答案
按热度按时间yqhsw0fo1#
问题是
nnounceThreadTest
扩展了TestCase
。因为它扩展了TestCase
,所以JUnit Runner将其视为JUnit 3.8测试,并且测试正在运行,因为它以单词test开头,隐藏了@Test
注解实际上根本没有使用的事实。要解决这个问题,请从类定义中删除
extends TestCase
。hsvhsicv2#
您可以添加此扩展来使用支持注解的Junit 4运行测试用例,而不是删除extends TestCase。
@RunWith(JUnit4.class)
wrrgggsh3#
我刚刚使用JUnit 4.4在IntelliJ中运行了以下代码:
字符串
完美通过。
重新构建整个项目,然后再试一次。还有一些地方你做错了。JUnit 4.4正像广告上说的那样工作。