首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@BeforeSuite和@Guice计时问题

问@BeforeSuite和@Guice计时问题
EN

Stack Overflow用户
提问于 2015-03-27 13:03:31
回答 1查看 174关注 0票数 0

我正在测试一个内部使用@Inject的ftp客户端库。我有一个与时间问题相关的问题。

代码语言:javascript
复制
public class FakeFtpServerTest {

    @BeforeSuite
    public void startFtpServer() {} // not invoked before injection

    @AfterSuite
    public void stopFtpServer() {}
}

public class MyFtpClientModule {

    @Override
    protected void configure() {
    }
}

@Guice(modules={MyFtpClientModule.class})
public class MyFtpClientTest {

    @Inject
    @InjectMe
    private MyFtpClient client;
}

问题是,注入是在TestNG创建MyFtpClientTest实例时调用的,这意味着@BeforeSuite被调用之前的时间。并且绑定和提供一些应该已经连接到伪ftp服务器的ftp客户端的模块失败。

我该如何解决这个问题?有什么技术可以解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-27 13:52:17

我就这样解决了我的问题。我在@BeforeMethod上编程注入字段,而不是使用@Guice。

代码语言:javascript
复制
public class MyFtpClientTest {

    @BeforeSuite
    public void startFtpServer() {} // not invoked before injection

    @AfterSuite
    public void stopFtpServer() {}

    @BeforeMethod
    public void injectFtpClient() {
        client = Guice.createInjector(this).getInstance(FileBack.class);
    }

    @AfterMethod
    public void ejectFtpClient() {
        client = null;
    }

    @Override
    protected void configure() {
    }

    @Inject
    private MyFtpClient client;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29293636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档