【问题标题】:How to create method with parameter in Mockito如何在 Mockito 中创建带参数的方法
【发布时间】:2018-08-11 07:53:28
【问题描述】:

我正在学习 Mockito,所以我是 Mockito 的新手。 可以使模拟方法参数化吗?例如。我有一个类(ABC.java),其中我很少有带有@Test 注释的方法,例如

@Test
public void addition() {
}

我正在通过另一个测试类 (testClass.java) 调用它们。

  Result result = JUnitCore.runClasses(ABC.class);
  for (Failure failure : result.getFailures()) {
     System.out.println(failure.toString());
  }

  System.out.println(result.wasSuccessful());

所以我想用测试类(testClass.java)的参数调用一个加法方法。

【问题讨论】:

  • 可以把参数直接放到ABC类里面吗?因为那样你就可以使用JUnit's Parameterized runner
  • 您是否在ABC 类中混合了“主”代码和测试代码?这对我来说听起来很奇怪,但试着让我的思想保持开放:-)
  • 乔尔,不。ABC.java 是我有带有@Test 注释的测试的类。其中“main”是另一个类。

标签: java unit-testing testing junit mockito


【解决方案1】:

Mockito 允许模拟类。在这里你不需要嘲笑任何东西。

所以我想用测试中的参数调用一个加法方法 类(testClass.java)。

JUnitCore.runClasses() 运行作为参数传递的测试类。这没有提供将参数传递给测试类方法的方法。
所以你应该使用@RunWith(Parameterized.class)从测试类本身参数化addition()测试方法。
更多信息here.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多