Mockito与JMockit和依赖注入

时间:2014-11-05 11:02:41

标签: java dependency-injection mockito jmockit

我发现这篇文章非常有趣http://www.jayway.com/2012/02/25/mockito-and-dependency-injection/它说Mockito通过使用构造函数参数,setter方法和字段注入来支持依赖注入。我想知道JMockit是否也这样做,到目前为止我还没有找到使用JMockit和依赖注入的人。

1 个答案:

答案 0 :(得分:3)

JMockit通过参数和属性支持依赖注入。测试类必须包含一个或多个声明为@Injectable的模拟属性或模拟参数。您要测试的业务对象需要使用注释@Tested声明。 @Tested批注自动创建类的实例并注入模拟的依赖项。

public class SomeTest {
   @Tested CodeUnderTest tested;
   @Injectable Dependency dep1;
   @Injectable AnotherDependency dep2;
   @Injectable int someIntegralProperty = 123;

   @Test
   public void someTestMethod(@Injectable("true") boolean flag, @Injectable("Mary") String name)
   {
      // Record expectations on mocked types, if needed.

      tested.exerciseCodeUnderTest();

      // Verify expectations on mocked types, if required.
   }
}

您可以在此处找到更多详细信息: http://jmockit.github.io/tutorial/BehaviorBasedTesting.html#tested(官方文档)