Questions tagged «mockito»

Mockito是Java的模拟框架。它受到EasyMock的启发,但旨在进一步简化模拟存根,验证和工具。

7
使用Mockito通过new()调用测试类
我有一个旧类,其中包含一个new()调用以实例化LoginContext(): public class TestedClass { public LoginContext login(String user, String password) { LoginContext lc = new LoginContext("login", callbackHandler); } } 我想使用Mockito测试该类以模拟LoginContext,因为它要求在实例化之前设置JAAS安全性,但是我不确定如何在不更改login()方法以外部化LoginContext的情况下进行此操作。是否可以使用Mockito模拟LoginContext类?

4
Mockito在例外Junit 4.10之后进行验证
我正在测试具有预期异常的方法。我还需要在引发异常后验证是否在某个模拟对象上调用了一些清理代码,但看起来该验证已被忽略。这是代码。我正在使用JunitExpectedException Rule验证预期的异常。 @Rule public ExpectedException expectedEx = ExpectedException.none(); @Test public void testExpectedException() { MockedObject mockObj = mock(MockedObj.class); MySubject subject = new MySubject(mockedObj); expectedEx.expect(MyException.class); expectedEx.expectMessage("My exception message."); subject.someMethodThrowingException(); verify(mockObj). someCleanup(eq(...)); } 似乎verify完全被忽略了。无论我采用什么方法verify,我的测试都通过了,这不是我想要的。 知道为什么会这样吗?

4
如何模拟通过PowerMock返回void的静态方法?
我的项目中有一些静态util方法,其中一些只是传递或引发异常。关于如何模拟具有除void以外的返回类型的静态方法,有很多示例。但是,我该如何模拟将void返回为“ doNothing()”的静态方法? 非无效版本使用以下代码行: @PrepareForTest(StaticResource.class) ... PowerMockito.mockStatic(StaticResource.class); ... Mockito.when(StaticResource.getResource("string")).thenReturn("string"); 但是,如果将其应用于StaticResourcesreturn void,则编译将抱怨when(T)不适用于void ... 有任何想法吗? 解决方法可能是让所有静态方法都返回一些Boolean成功方法,但我不喜欢这种方法。

4
用Mockito调用回调
我有一些代码 service.doAction(request, Callback<Response> callback); 我如何使用Mockito捕获回调对象,并调用callback.reply(x)
70 java  testing  mockito 

6
不推荐使用MockitoJUnitRunner
我正在尝试使用@InjectMocks和进行单元测试@Mock。 @RunWith(MockitoJUnitRunner.class) public class ProblemDefinitionTest { @InjectMocks ProblemDefinition problemDefinition; @Mock Matrix matrixMock; @Test public void sanityCheck() { Assert.assertNotNull(problemDefinition); Assert.assertNotNull(matrixMock); } } 当我不包含@RunWith注释时,测试将失败。但 不推荐使用MockitoJUnitRunner类型 我正在使用Mockito 2.6.9。我应该怎么做?

3
Mockito嘲笑本地决赛,但在詹金斯失败
我已经为静态方法编写了一些单元测试。静态方法仅接受一个参数。参数的类型是最终类。在代码方面: public class Utility { public static Optional<String> getName(Customer customer) { // method's body. } } public final class Customer { // class definition } 因此,对于Utility该类,我创建了一个测试类,UtilityTests在其中为该方法编写了测试getName。单元测试框架为TestNG,而使用的模拟库为Mockito。因此,典型的测试具有以下结构: public class UtilityTests { @Test public void getNameTest() { // Arrange Customer customerMock = Mockito.mock(Customer.class); Mockito.when(...).thenReturn(...); // Act Optional<String> name = Utility.getName(customerMock); // Assert …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.