标签: easymock

PowerMockito模拟单个静态方法和返回对象

我想从包含2个静态方法m1和m2的类中模拟静态方法m1.我希望方法m1返回一个对象.

我尝试了以下内容

1)

PowerMockito.mockStatic(Static.class, new Answer<Long>() {
         @Override
         public Long answer(InvocationOnMock invocation) throws Throwable {
            return 1000l;
         }
      });
Run Code Online (Sandbox Code Playgroud)

这是调用m1和m2,它们具有不同的返回类型,因此它给出了返回类型不匹配错误.

2)PowerMockito.when(Static.m1(param1, param2)).thenReturn(1000l); 但是当执行m1时不会调用它.

3)PowerMockito.mockPartial(Static.class, "m1"); 给出了mockPartial不可用的编译错误,这是我从http://code.google.com/p/powermock/wiki/MockitoUsage获得的.

java easymock mockito powermock java-ee

89
推荐指数
1
解决办法
20万
查看次数

EasyMock:无效方法

我有一个方法在类中返回void,该类是我想要测试的类的依赖项.

这个类非常庞大,我只使用这个单一的方法.我需要替换此方法的实现以进行测试,因为我希望它能够执行不同的操作,并且我需要能够访问此方法接收的参数.

我无法在EasyMock中找到这样做的方法.我想我知道如何通过使用Mockito来做到这一点,doAnswer但除非绝对必要,否则我不想添加另一个库.

java unit-testing easymock mocking void

68
推荐指数
3
解决办法
10万
查看次数

EasyMock andReturn()vs andStubReturn()

使用andReturn(T value)vs andStubReturn(T value)for EasyMock有什么区别?

在什么情况下你会使用andStubReturn()哪里andReturn()无法达到相同的结果?

unit-testing easymock

54
推荐指数
2
解决办法
3万
查看次数

无法理解EasyMock.replay()的使用

我是单元测试和Junit的新手.我知道Junit的基础知识.我刚刚开始学习EasyMock框架.

我无法理解replay()方法的用法.

有人可以提供一些信息吗?

我理解EasyMock.expect()和EasyMock.verify()的用户.

testing junit easymock

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

EasyMock vs Mockito:设计与可维护性?

思考这个的一种方法是:如果我们关心代码的设计则EasyMock的是更好的选择,因为它通过它的期望概念,让反馈给您.

如果我们关心的测试可维护性(更容易读,写和具有不会受到太大变化不太脆测试),那么似乎的Mockito一个更好的选择.

我的问题是:

  • 如果您在大型项目中使用过EasyMock,您是否发现您的测试难以维护?
  • Mockito有什么限制(除了endo测试)?

easymock mockito

48
推荐指数
5
解决办法
3万
查看次数

EasyMock:如何在没有警告的情况下创建泛化类的模拟?

代码

private SomeClass<Integer> someClass;
someClass = EasyMock.createMock(SomeClass.class);
Run Code Online (Sandbox Code Playgroud)

给我一个警告"类型安全:SomeClass类型的表达式需要未经检查的转换以符合SomeClass <Integer>".

java generics easymock mocking

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

是否可以创建一个使用EasyMock实现多个接口的模拟对象?

是否可以创建一个使用EasyMock实现多个接口的模拟对象?

例如,界面Foo和界面Closeable

在Rhino Mocks中,您可以在创建模拟对象时提供多个接口,但EasyMock的createMock()方法只需要一种类型.

难道possbile与EasyMock的实现这一点,而不诉诸创建扩展双方暂时接口的后退FooCloseable,然后嘲讽吗?

java unit-testing rhino-mocks easymock mocking

42
推荐指数
4
解决办法
2万
查看次数

如何从EasyMock.anyObject(List.class)调用中删除警告

编译器不能停止抱怨这个电话:

EasyMock.anyObject(List.class) 
Run Code Online (Sandbox Code Playgroud)

我试图指定列表的类型

EasyMock.anyObject(List<MyType>.class)
Run Code Online (Sandbox Code Playgroud)

但它似乎不是一个选项(无论如何,它是愚蠢的,因为java将在编译期间擦除类型)

是否有一种干净的方式(@SuppressWarning不是一种干净的IMO方式)来删除此警告?

谢谢

java generics warnings easymock

32
推荐指数
1
解决办法
1万
查看次数

如何模拟HttpServletRequest?

我有一个查找查询参数并返回布尔值的函数:

  public static Boolean getBooleanFromRequest(HttpServletRequest request, String key) {
        Boolean keyValue = false;
        if(request.getParameter(key) != null) {
            String value = request.getParameter(key);
            if(keyValue == null) {
                keyValue = false;
            }
            else {
                if(value.equalsIgnoreCase("true") || value.equalsIgnoreCase("1")) {
                    keyValue = true;
                }
            }
        }
        return keyValue;
    }
Run Code Online (Sandbox Code Playgroud)

我的pom.xml中有junit和easymock,如何模拟HttpServletRequest?

java junit easymock

31
推荐指数
3
解决办法
8万
查看次数

EasyMock void方法

我正在尝试使用EasyMock来模拟一些数据库接口,以便我可以通过包装方法测试业务逻辑.我已经通过在我的测试设置中使用以下方法返回的方法.

DBMapper dbmapper = EasyMock.createMock(DBMapper.class);
userService.setDBMapper(dbmapper);        
Run Code Online (Sandbox Code Playgroud)

然后在我的实际测试中运行

EasyMock.expect(dbmapper.getUser(userId1)).andReturn(mockUser1);
EasyMock.replay(dbmapper);
userService.getUser(userId1);
Run Code Online (Sandbox Code Playgroud)

然后,此服务连接到dbmapper并返回对象(使用setter方法注入映射器)

这些类型的模拟似乎工作正常.但是,当我尝试运行测试时

userService.addUser(newUser1);
Run Code Online (Sandbox Code Playgroud)

此方法调用void方法.

dbmapper.createUser(newUser);
Run Code Online (Sandbox Code Playgroud)

我正在嘲笑这个方法.我尝试了以下内容

EasyMock.expectLastCall();
EasyMock.replay(dbMapper);
userService.addUser(newUser1);
Run Code Online (Sandbox Code Playgroud)

正如其他一些帖子/问题等似乎暗示我得到了一个 IlligalStateException: no last call on a mock available

有人能指出我正确的方向吗?

提前谢谢了

java testing junit unit-testing easymock

30
推荐指数
2
解决办法
6万
查看次数