我正在使用 Guice 在我的应用程序中创建和注入(inject)实例。
出于测试的目的,我创建了一个类,负责创建特定测试类所需的所有静态实例并注入(inject)它们。我们将此类命名为 GuiceGraphBuilder。
我想在调用我的模拟/测试类构造函数之前创建并启动 GuiceGraphBuilder,因为我的一些模拟类需要在构造时进行注入(inject)。
目前我正在使用一个静态构造函数来启动 GuiceGraphBuilder 并填充一堆静态字段。
有没有办法使用某种注释使代码在构造函数之前运行? 我看到了answer使用 Guice,但这对我来说当然不好,因为我想在生成的代码中创建 Guice 注入(inject)器。
最佳答案
我想你使用junit进行测试?然后你就有了生命周期 Hook
- @BeforeClass - 在第一次测试之前运行一次(用于静态设置)
- @Before - 在每个测试方法之前运行
- @After - 在每个测试方法之后运行
- @AfterClass - 所有测试完成后运行一次
我认为,根据 guice 的任意判断,您将能够通过将 init 和 clean up 匹配到正确的阶段来解决您的问题。
关于java - 我可以使用注释让代码在构造函数之前运行吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28262334/