2

我使用 TestNG 进行单元和集成测试,使用 Guice 进行 DI。我想像对待其他类一样对待我的测试类——而不是直接使用注入器,我宁愿定义用@Inject 标记的字段,并在每次测试之前将它们注入。

有没有这样的框架?我相信AtUnit做了类似的事情,但我不确定它是如何与 TestNG 集成的,也不知道它有多成熟。

4

3 回答 3

4

Cedric has now added a @Guice annotation directly into TestNG to facilitate this use case.

于 2011-10-03T18:52:37.193 回答
3

TestNG 在内部使用 Guice,但它也使得在 TestNG 看到它们之前注入测试类变得非常容易(使用 Guice 或您喜欢的任何其他框架)。

您需要做的就是实现IObjectFactory,然后在使用 -objectfacfory 启动 TestNG 时声明您的类名。

然后 TestNG 会将所有对象创建委托给您的工厂,这允许您创建实例并在将它们返回给 TestNG 之前注入它们。

于 2010-11-26T18:32:58.627 回答
0

有关如何使用它并让它与 TestNG.xml 组交互的示例,请查看我的博客条目http://biggerwrench.blogspot.com/2014/02/testng-using-guice-for-dependency.html

于 2014-02-03T16:55:53.693 回答