【问题标题】:Mockito test for method returning StringMockito 测试返回字符串的方法
【发布时间】:2015-08-21 05:43:32
【问题描述】:

我想为下面给出的代码编写模拟测试。有什么解决办法吗?

 @Override
public String getPortDirection()
{
    return NameTokens.INPUT_PORT_DIRECTION_VALUE;
}

【问题讨论】:

  • 您到底想测试什么? Mockito 是用来模拟的,你想在这里模拟什么?
  • 我只是想为这个功能写Mockito测试。我们也可以尝试使用null值

标签: java mockito


【解决方案1】:

我不确定,测试是否会有所帮助,但至少很容易实现:

@Test
public void checkPortDirection() {
    assertEquals(NameTokens.INPUT_PORT_DIRECTION_VALUE, getPortDirection());
}

在这个测试中没有使用 Mockito,只使用了 JUnit。

【讨论】:

  • 实际上这两个函数或者你可以说类都写在不同的包中。所以基本上如何在这个测试类中调用该方法 getPortDirection。而且基本上 Nametokens 是定义 INPUT_PORT_DIRECTION_VALUE 变量的类,它也属于到另一个包。那么如何取这个字符串值呢?
  • 通常从其他包中引用常量和方法是没有问题的。检查您的课程是否包含正确的 import 语句。但是,如果您的常量和方法是 package private 或 *protected,则必须将它们设为 public
  • 在这里您对任何非空值都有写入测试。当所选对象为null时,此测试是什么? span>
【解决方案2】:

如果您想模拟静态字段的值(使用 null),那么您必须使用 PowerMockito。看看这个答案:https://stackoverflow.com/a/8911517/529256 Basic Mockito 不能模拟静态方法、字段或构造函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 2012-02-05
    相关资源
    最近更新 更多