common下写了一个单测,但是读出来的数据为空

来源:4-6 、统一配置和项目相关配置详解和应用

万通筋骨创可贴

2023-09-21

common下的config代码

package com.ec.common.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;


@Component
@Configuration
@ConfigurationProperties(prefix = "ec")
public class ErpCrmConfig {
    private  String name;
    private  String version;
    private String copyrightYear;
    private boolean demoEnabled;
    private String profile;
    private boolean addressEnabled;
    private String captchaType;

    public String getName(){
        return name;
    }
}


单测代码

package com.ec.common.test.config;

import com.ec.common.config.ErpCrmConfig;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;

@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = ErpCrmConfig.class)
@SpringBootTest
public class ErpCrmConfigTest {

    @Autowired
    public ErpCrmConfig erpCrmConfig;


    @Test
    void confTest(){
        System.out.println(erpCrmConfig.getName()); //null
    }

}

写回答

1回答

Yerik老师

2023-09-22

没有这样测试的,公共模块是基础依赖,就算单元测试也是在业务层调用的地方进行测试,不过还是建议你不要这样学习,这样学习不符合正常项目开发流程,所以会导致很多因为你本地配置和环境导致的问题,会浪费你很多时间,而且就算解决了也对你在企业中开发能力帮助不大,因为企业开发流程不是这样做的,所以建议你先把课程整体学习完,如果想提高编码动手能力,可以再将项目中关键地方的代码自己重新写一遍,然后对照源码和课程进行分析对比,这样才是科学合理的学习方式!

0
0

SpringBoot+Vue3打造企业级ERP+CRM一体化SaaS系统

SpringBoot+Vue3打造企业级ERP+CRM一体化SaaS系统

287 学习 · 84 问题

查看课程