加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 自定义方法的JUnit测试用例

发布时间:2020-12-15 04:38:42 所属栏目:Java 来源:网络整理
导读:我正在学习我作为初级 Java开发人员的第一份工作面试,现在我正在努力学习JUnit测试用例.这是我遇到的一个例子,我必须说这对我来说真的很棘手(它是抽象代码所以我不知道如何测试它). public class JuiceMaker { public Juice makeJuice(final ListFruit fruit
我正在学习我作为初级 Java开发人员的第一份工作面试,现在我正在努力学习JUnit测试用例.这是我遇到的一个例子,我必须说这对我来说真的很棘手(它是抽象代码所以我不知道如何测试它).

public class JuiceMaker {

  public Juice makeJuice(final List<Fruit> fruits) throws RottenFruitException {
    for (final Fruit fruit : fruits) {
      if (FruitInspector.isFruitRotten(fruit)) {
        throw new RottenFruitException(fruit.getName() + “ is rotten. Cannot make juice.”);
      }
    }

    return Juicer.juice(fruits);
  }
}

我设法创建自己的唯一例子是这一个:

JuiceMaker jm = new JuiceMaker();

@Test
public void isThrowingException() {
//when
  try {
      jm.throwsRuntime();
      Assert.fail("Expected exception to be thrown");
  } catch (RottenFruitException e) {
//then
      assertThat(e)
          .isInstanceOf(RottenFruitException.class)
          .hasMessage((fruit.getName() + " is rotten. Cannot make juice.");
  }
}

我可以对这段代码执行哪些测试的提示?非常感谢你的帮助!

解决方法

欢迎来到JUnit,祝你的采访顺利!

首先要问的问题是这门课程提供的合同是什么?它需要一份水果清单,测试是否有任何水果腐烂,如果是这样会引发异常,否则它会榨汁.您可以假设“果汁”方法在其他地方进行了测试.

对我来说,这表明这些测试:

>列出单一的好水果
>单一腐烂的水果列表
>列出几个好的和一个腐烂的水果
>空列表

您还可以测试null和无效值,但这可能是刚刚过度的事情.

一旦你决定要测试什么,那么你就可以开始考虑实现它们了.看起来你的实现有几个错误,但你正朝着一个好的方向前进.您可能会发现JUnit的“expected”参数对于测试异常非常有用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读