JUnit断言失败[重复]

Posted

技术标签:

【中文标题】JUnit断言失败[重复]【英文标题】:Assert fail with JUnit [duplicate] 【发布时间】:2015-01-10 22:12:15 【问题描述】:

我有一个属性我不想为空的类。

setter 中的 Si 如下所示:

public void setFoo(String bar)

    if (bar == null)
        throw new IllegalArgumentException("Should not be null");
    foo = bar;

在我的 JUnit 测试用例中,我想断言,如果我执行 obj.setFoo(null),它将失败。 我该怎么做?

【问题讨论】:

你试过Assert.assertNotNull()吗? 【参考方案1】:

JUnit4:

@Test(expected= IllegalArgumentException.class)
public void testNull() 
   obj.setFoo(null);

JUnit3:

public void testNull() 
   try 
       obj.setFoo(null);
       fail("IllegalArgumentException is expected");
    catch (IllegalArgumentException e) 
       // OK
   

【讨论】:

【参考方案2】:

你可以这样做

@Test (expected = IllegalArgumentException.class)
public void setFooTest()
    myObject.setFoo(null);

【讨论】:

以上是关于JUnit断言失败[重复]的主要内容,如果未能解决你的问题,请参考以下文章

[JUnit] JUnit5 基础 4 - Maven 集成,参数化测试,重复测试 [完]

Junit ant 任务未将断言错误报告为失败

Junit 在法语字符串断言上失败

Junit单元测试

在函数'cv :: imshow'中读取和扭曲图像(-215:断言失败)size.width> 0 && size.height> 0 [重复]

否定前瞻断言在python中不起作用[重复]