使用@Autowired注释测试注入bean

时间:2013-06-08 13:56:44

标签: java testing junit mockito

我想使用Junit和Mockito编写单元测试,在这种情况下我不想编写集成测试。我想测试的方法使用通过Spring使用@Value或@Autowired注释注入的变量。如何填充注入的变量,以便在运行测试时它们不为空。在注释几天之前,我会创建变量的模拟类,并通过setter方法设置它们。

我正在编写单元测试,所以我不想使用@RunWith(SpringJUnit4ClassRunner.class)

1 个答案:

答案 0 :(得分:1)

您可以使用MockitoJUnitRunner

class SystemUnderTest {
    @Autowired
    private Dependency dep;

    // ...
}
@RunWith(MockitoJUnitRunner.class)
public class YourTest {
    @Mock
    private Dependency mockDependency;

    @InjectMocks
    private SystemUnderTest testee;

    @Test
    public void testSystem() {
        // at this point testee is already injected with mockDependency
    }
}