繁体   English   中英

使用SpringJUnit4ClassRunner仅使用@Component和@Autowired进行单元测试

[英]Unit testing with SpringJUnit4ClassRunner using only @Component and @Autowired

我有以下课程:

@Component
public class MyClass {
    @Autowired MyPojo pojo;
}

我如何在不模拟注入的豆子的情况下进行测试? 没有配置[XML或声明性]。 我已经完成以下工作:

@RunWith(SpringJUnit4ClassRunner.class)
@ComponentScan
public class MyClassTest {
    @Autowired MyClass myClass;

    @Test
    public void test() {
        this.myClass...()
    }
}

如果不想使用任何类型的配置(Java或XML配置),都可以将@ContextConfiguration与列出的组件类一起使用:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { MyPojo.class, MyClass.class })
public class MyClassTest {

    @Autowired 
    private MyClass myClass;

    @Test
    public void test() {
        // myClass...
    }
}

请注意, MyPojo类也应使用@Component进行注释。

但是,在现实生活中,您可能至少需要一个@Configuration类(也可以与@ContextConfiguration一起@ContextConfiguration )。

请参考Spring文档以获取有关Spring集成测试支持的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM