标签: mockito

Mockito与JMockit之间的比较 - 为什么Mockito投票比JMockit更好?

我正在调查哪个模拟框架用于我的项目,并将其缩小到JMockitMockito.

我注意到MockitoStackoverflow上被评为" Java最好的模拟框架 ".
在比较JMockit的" Mocking Tool Comparision Matrix "的功能时,似乎JMockit具有多种不同的功能.

有没有人有任何关于Mockito可以用JMockit无法实现的具体信息(不是意见),反之亦然?

java unit-testing jmockit mocking mockito

121
推荐指数
3
解决办法
6万
查看次数

Mockito:InvalidUseOfMatchersException

我有一个执行DNS检查的命令行工具.如果DNS检查成功,则命令继续执行其他任务.我正在尝试使用Mockito为此编写单元测试.这是我的代码:

public class Command() {
    // ....
    void runCommand() {
        // ..
        dnsCheck(hostname, new InetAddressFactory());
        // ..
        // do other stuff after dnsCheck
    }

    void dnsCheck(String hostname, InetAddressFactory factory) {
        // calls to verify hostname
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用InetAddressFactory来模拟类的静态实现InetAddress.这是工厂的代码:

public class InetAddressFactory {
    public InetAddress getByName(String host) throws UnknownHostException {
        return InetAddress.getByName(host);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的单元测试用例:

@RunWith(MockitoJUnitRunner.class)
public class CmdTest {

    // many functional tests for dnsCheck

    // here's the piece of code that is failing
    // in this test …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito

121
推荐指数
3
解决办法
14万
查看次数

Mockito如何模拟和断言抛出的异常?

我在junit测试中使用mockito.你怎么做一个异常发生然后断言它有(通用伪代码)

java junit exception-handling mockito

120
推荐指数
10
解决办法
28万
查看次数

Mockito:使用有界通配符返回类型的存根方法

考虑以下代码:

public class DummyClass {
    public List<? extends Number> dummyMethod() {
        return new ArrayList<Integer>();
    }
}
Run Code Online (Sandbox Code Playgroud)
public class DummyClassTest {
    public void testMockitoWithGenerics() {
        DummyClass dummyClass = Mockito.mock(DummyClass.class);
        List<? extends Number> someList = new ArrayList<Integer>();
        Mockito.when(dummyClass.dummyMethod()).thenReturn(someList); //Compiler complains about this
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器抱怨正在尝试存根行为的行dummyMethod().关于如何使用有界通配符返回类型的存根方法的任何指针?

java generics unit-testing mockito bounded-wildcard

117
推荐指数
4
解决办法
8万
查看次数

Mockito匹配器如何工作?

争论的Mockito匹配器(如any,argThat,eq,same,和ArgumentCaptor.capture())表现非常不同,从Hamcrest匹配器.

  • Mockito匹配器经常导致InvalidUseOfMatchersException,即使在使用任何匹配器后执行很长时间的代码中也是如此.

  • Mockito匹配器受到奇怪的规则的影响,例如,如果给定方法中的一个参数使用匹配器,则只需要对所有参数使用Mockito匹配器.

  • 当覆盖Answers或使用(Integer) any()等时,Mockito匹配器可能会导致NullPointerException .

  • 使用Mockito匹配器以某种方式重构代码可能会产生异常和意外行为,并且可能完全失败.

为什么Mockito匹配器是这样设计的,它们是如何实现的?

java mocking mockito

112
推荐指数
2
解决办法
11万
查看次数

关于Mockito的argumentCaptor的例子

任何人都可以请给我一个例子,说明什么是org.mockito.ArgumentCaptor类的使用,以及它与mockito提供的简单匹配器有何不同.

我阅读了所提供的mockito文档,但这些文档没有清楚地说明,也没有能够清楚地解释它.

java junit unit-testing mockito

111
推荐指数
4
解决办法
10万
查看次数

mockito when()调用如何工作?

鉴于以下Mockito声明:

when(mock.method()).thenReturn(someValue);
Run Code Online (Sandbox Code Playgroud)

考虑到mock.method()语句将返回值传递给when(),Mockito如何为mock创建代理?我想这会使用一些CGLib的东西,但有兴趣知道这是如何在技术上完成的.

unit-testing mocking mockito

110
推荐指数
2
解决办法
5万
查看次数

初始化模拟对象 - MockIto

有许多方法可以使用MockIto初始化模拟对象.这些中最好的方法是什么?

1.

 public class SampleBaseTestCase {

   @Before public void initMocks() {
       MockitoAnnotations.initMocks(this);
   }
Run Code Online (Sandbox Code Playgroud)

2.

@RunWith(MockitoJUnitRunner.class)
Run Code Online (Sandbox Code Playgroud)

[编辑] 3.

mock(XXX.class);
Run Code Online (Sandbox Code Playgroud)

建议我,如果有任何其他方法比这些更好......

java junit mockito

107
推荐指数
7
解决办法
17万
查看次数

@ Mock,@ MovieBean和Mockito.mock()之间的区别

在创建测试和模拟依赖项时,这三种方法之间有什么区别?

  1. @MockBean:

    @MockBean
    MyService myservice;
    
    Run Code Online (Sandbox Code Playgroud)
  2. @嘲笑:

    @Mock
    MyService myservice;
    
    Run Code Online (Sandbox Code Playgroud)
  3. Mockito.mock()

    MyService myservice = Mockito.mock(MyService.class);
    
    Run Code Online (Sandbox Code Playgroud)

java junit spring mockito spring-boot

106
推荐指数
2
解决办法
5万
查看次数

Mockito:doAnswer Vs然后返回

我正在使用Mockito进行后期单元测试.我很困惑,当使用doAnswerVS thenReturn.

任何人都可以帮我详细吗?到目前为止,我已经尝试过了thenReturn.

java mockito

101
推荐指数
3
解决办法
9万
查看次数