Java 测试使用@Autowired注释注入bean

Java 测试使用@Autowired注释注入bean,java,testing,junit,mockito,Java,Testing,Junit,Mockito,我想使用Junit和Mockito编写单元测试,在这种情况下,我不想编写集成测试。我要测试的方法使用通过Spring使用@Value或@Autowired注释注入的变量。如何填充注入的变量,以便在运行测试时它们不为null。在注释出现之前,我会创建模拟的变量类,并通过setter方法进行设置 我正在编写单元测试,因此我不希望使用@RunWith(SpringJUnit4ClassRunner.class)您可以使用MockitoJUnitRunner class SystemUnderTest

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


我正在编写单元测试,因此我不希望使用
@RunWith(SpringJUnit4ClassRunner.class)
您可以使用
MockitoJUnitRunner

class SystemUnderTest {
    @Autowired
    private Dependency dep;

    // ...
}

谢谢,
SutsDependency
指的是什么?哎呀,修好了;这应该是“SUT的依赖性”的意思,但后来我认为这不会增加太多,但忘记了改变所有发生的情况。
@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
    }
}