JUnit预期标记未按预期工作

ffscu2ro  于 9个月前  发布在  其他
关注(0)|答案(3)|浏览(141)

我在eclipse中有以下测试用例,使用JUnit 4,它拒绝通过。可能是什么问题?

@Test(expected = IllegalArgumentException.class)
public void testIAE() {
    throw new IllegalArgumentException();
}

字符串
这个测试用例是在我试图用预期的标记测试我自己的代码时产生的,我想看看JUnit是否能通过最基本的测试,但它没有。
我还测试了自定义异常,没有运气。

截图:

yqhsw0fo

yqhsw0fo1#

问题是nnounceThreadTest扩展了TestCase。因为它扩展了TestCase,所以JUnit Runner将其视为JUnit 3.8测试,并且测试正在运行,因为它以单词test开头,隐藏了@Test注解实际上根本没有使用的事实。
要解决这个问题,请从类定义中删除extends TestCase

hsvhsicv

hsvhsicv2#

您可以添加此扩展来使用支持注解的Junit 4运行测试用例,而不是删除extends TestCase。
@RunWith(JUnit4.class)

wrrgggsh

wrrgggsh3#

我刚刚使用JUnit 4.4在IntelliJ中运行了以下代码:

@Test(expected = IllegalArgumentException.class)
   public void testExpected()
   {
       throw new IllegalArgumentException();
   }

字符串
完美通过。
重新构建整个项目,然后再试一次。还有一些地方你做错了。JUnit 4.4正像广告上说的那样工作。

相关问题