标签: jukito

缺少对 verify(mock) 的方法调用,但有一个吗?

介绍

我正在尝试进行一个测试,验证(使用 Mockito v1.9.5's )在执行 pass-through 之后调用接口中verify具有签名的方法,并且我遇到了一个我真的不明白的错误。deinit()BarFoo.deinit()

这是FooTest.java我正在尝试运行的:

@RunWith(JukitoRunner.class)
public class FooTest {
    @Inject
    private Foo foo;
    @Inject
    private Bar bar;

    public static class TestModule extends JukitoModule {
        @Override
        protected void configureTest() {
            bind(Foo.class).to(FooImpl.class);
            bind(Bar.class).to(BarImpl.class);
            bindSpy(BarImpl.class);
        }
    }

    @Test
    public void testDeinit() {
        foo.init(mock(Baz.class));
        foo.deinit();
        verify(bar).deinit();
    }

    @After
    public void validate() {
        validateMockitoUsage(); //line YY
    }
}
Run Code Online (Sandbox Code Playgroud)

运行此程序时,testDeinit()失败并出现以下错误:

org.mockito.exceptions.misusing.UnfinishedVerificationException:
Missing method call for verify(mock) here:
  -> at redacted.impl.BarImpl.deinit(BarImpl.java:XX)
  
Example of correct …
Run Code Online (Sandbox Code Playgroud)

java mockito jukito

5
推荐指数
1
解决办法
9288
查看次数

如何在使用bean的camel单元测试中注册bean?

我想对在java中使用bean配置的单个路由进行单元测试.我在骆驼的行动中读到(第6.1.4章)如何做到这一点:

protected RouteBuilder createRouteBuilder() throws Exception {
    return new myRoute();
}
Run Code Online (Sandbox Code Playgroud)

但在我的情况下,溃败需要注册一些bean.我知道如何在独立应用程序中注册bean:请参阅此处 但是如何在"CamelTestSupport"中注册bean?有没有办法在没有注册表的情况下使用bean?可能通过注入它们(所有bean都没有arg构造函数)?我正在使用Guice,在我的测试中我使用的是Jukito(Guice + Mockito).

java junit guice apache-camel jukito

3
推荐指数
1
解决办法
3114
查看次数

使用Jukito进行测试时,GWT计时器UnsatisfiedLinkError

我正在使用Jukito测试GWTP Presenter,在其中有一个计时器作为重复任务字段的测试仪中,我抛出了此异常。

我正在运行GWT 2.8.2,GWTP 1.6,JUnit 4和Jukito 1.5

测试如下所示:

@RunWith(JukitoRunner.class)
public class MyPresenterTest {

    @Inject
    MyPresenter presenter;

    @Test
    public void prepareFromRequestTest(EventBus eventBus,
                                       MyServiceAsync MyService) {

        PlaceRequest placeRequest = new PlaceRequest.Builder()
                .nameToken(NameTokens.getMyPlace())
                .with("aParam", "0110")
                .build();

        Data data = DataTestFactory.createData();

        AsyncStubber.callSuccessWith(data)
                .when(myService)
                .requestDataToServer(eq("0110"), any());

        // the timer scheduleRepeating is called in here:
        presenter.prepareFromRequest(placeRequest);
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至像以下这样的基本测试也会失败:

@RunWith(JukitoRunner.class)
public class GwtTimerTest {

    @Test
    public void testTimer() {
        Timer timer = new Timer() {
            @Override
            public void run() {
                System.out.println("timer");
            }
        };

        timer.schedule(1000);
    }
} …
Run Code Online (Sandbox Code Playgroud)

java gwt junit gwtp jukito

2
推荐指数
1
解决办法
48
查看次数

标签 统计

java ×3

jukito ×3

junit ×2

apache-camel ×1

guice ×1

gwt ×1

gwtp ×1

mockito ×1