当前位置: 首页 > 知识库问答 >
问题:

JUnit测试另一个使用fail()的方法

孔逸春
2023-03-14

我们有一个相当复杂的对象,它是调用drools引擎的结果。对于JUnit测试我们的规则,我们创建了一个RulesTestHelper类,它提供了一个方法“assertourobject(OurObject expected,OurObject actual)”并对OurObject的元素执行许多断言(这可能通过编写我们自己的匹配器更好地解决,但我们还没有做到这一点)。

    if (expected == null || actual == null)
      fail("Expected or actual is null");

现在我想对这个方法进行JUnit测试,并断言当我将两个对象中的一个设置为“null”时,测试将失败。所以换句话说,我希望测试失败,这应该是可以的。

这可能吗?如果可能,如何实现?

共有1个答案

羊舌高爽
2023-03-14

如果您不想更改代码,您可以使用类似于Anderson Vieira所说的解决方案,但可以使用

@Test(expected=AssertionError.class)

junitfail()方法抛出一个您可以特别期望的AssertionError

 类似资料:
  • 在这里,我只想确保抛出异常测试,但希望跳过调用方法在其中。我试着跟着走,但没有奏效

  • 我在我的服务层有一个方法: [1]这一行获取条形码,比如然后调用另一个类中的一个方法,该方法从数据库中检索有关该项目的信息,执行计算并返回价格。可能的值可以类似于。 [2]按价格对所有值进行升序排序。因此,如果列表包含和和,则将其排序为和。 当我尝试测试此方法时,当调用时,我得到空指针异常。我如何测试这个方法?我试着搜索并找到了一些关于使用mockito的问题和答案,但我不知道如何实现它。 我目前

  • 我有一个junit测试testArchive()。Junit测试测试存档文件并将url作为字符串返回给它的archive()方法。URL被定义为Junit测试类中的实例变量。 我正在为sendEmail()编写另一个Junit测试,它通过电子邮件发送URL。但是URL被定义为一个类变量,结果却是空的 你能让我知道我需要如何修正我的Junit测试发送电子邮件吗? 谢谢你

  • 问题内容: JUnit测试用例中“ fail”的实际用法是什么? 问题答案: 我发现它有用的某些情况: 标记一个不完整的测试,因此它会失败并警告您,直到您可以完成它 确保引发异常: 注意: 从JUnit4开始,有一种更优雅的方法来测试是否引发了异常:使用批注 但是,如果您还想检查异常,则此方法将无效,那么您仍然需要。

  • 我有这两种方法,在使用Mock实现测试时遇到了困难。我该如何参加考试? 我有麻烦得到Jboss目录而不必启动System.get属性(jboss.server.temp.dir);

  • 我在一个包含许多嵌入错误代码的“BusinessException”的项目中工作。 在每个异常单元测试中,我都必须测试重复这种模式的错误代码: (由于错误代码测试,无法使用JUnit注释) 你觉得“干净”吗?你认为可以改善吗?你觉得它太重和/或没用吗?我的主要目标是在我们的开发团队中统一测试异常。(当然还有因式分解代码) 感谢阅读!