当前位置: 首页 > 知识库问答 >
问题:

“应用程序”的属性。当您尝试对独立应用程序运行JUnit测试时,yml不会加载

柴茂材
2023-03-14

我有类应用程序运行正常,当你运行它作为Spring启动应用程序和加载属性从src/main/Resources/application.yml如下

class abc{

        @Value("${spring.host}")
        private String host;
        
    private ConnectionFactory getConnection() {
    ConnectionFactory factory = new ConnectionFactory();//constructs Connection instances
    factory.setHost(host);
    return factory;
       }
     }

以下是application.yml详情

spring.host: xx.xx.xx.1

但是,当您尝试对上述类abc运行junit测试时,它不会从src/main/resources/application.yml上传属性。甚至我也创建了一个测试文件应用程序。测试目录下的ymlsrc/test/resources/application。yml包含以下详细信息

spring.host: xx.xx.xx.1

下面是我的Junit测试类详细信息

@RunWith(SpringRunner.class)
@TestPropertySource(properties = { "spring.config.location=classpath:application.yml" })     
@TestPropertySource(properties = {"spring.test1= xx.xx.xx.2",
    "spring.test2= 1111"
    })
@ContextConfiguration(initializers = { ConfigFileApplicationContextInitializer.class })

public class Testclass {
   
InjectMocks
private abc ab;

@Value("${spring.test1}") /// here it is getting uploaded from src/main/resources/application.yml 
  private String test1;

@Test
public void testExecute() throws Exception {
abc.getConnection();
   }
 }

我很难理解和调试为什么在JUnit中无法使用相同的配置从应用程序加载属性。yml,但当简单地将类abc作为独立应用程序运行时,它运行良好。


共有1个答案

汤承允
2023-03-14

您在abc中的使用

@Value("${spring.host}")

但在应用程序中。亚马尔,你有吗

spring.rabbitmq.host: xx.xx.xx.1
 类似资料:
  • 我做错了什么?我正在使用这个小型独立应用程序,它运行并查找我的。相同的配置在JUnit中不起作用,请参阅下面: 以下不起作用,中的相同属性未加载并且只有值:

  • 我正在学习JUnit5和测试用例。我使用的是spring boot version'2.2.6.Release和JUnit5,在我的应用程序中,我有一个基于属性文件中的布尔标志进行处理的方法。 \src\main\resources\application.properties 数据库连接属性用于创建数据库连接 ControllerTest.java 默认情况下,该标志为false,因此每次测试用

  • 我正在使用一个spring启动应用程序,它运行我的src/main/resources/config/application。yml。 当我通过以下方式运行测试用例时: 测试代码仍在运行我的应用程序。要加载属性的yml文件。我想知道是否有可能再运行一个*。运行测试用例时的yml文件。

  • 现在假设我们想要使用 Spark API 写一个独立的应用程序。我们将通过使用 Scala(用 SBT),Java(用 Maven) 和 Python 写一个简单的应用程序来学习。 我们用 Scala 创建一个非常简单的 Spark 应用程序。如此简单,事实上它的名字叫 SimpleApp.scala: /* SimpleApp.scala */ import org.apache.spark.S

  • 我是Grails的新手,我用GVM工具安装了它,并试图从终端运行一个默认应用程序,只需尝试以下命令:Grails create-app demo和Grails run-app,我得到了一个巨大的错误: 编辑:问题解决了,只需升级JDK版本。

  • 这是一个与工作相关的web应用程序,使用Spring Boot 1.5.18,Cucumber 4.2.2。 目录结构是src/main/java,用于我所有的java类和包,src/main/resources以及application.properties和其他一些目录结构,一个具有环境日志和安全属性的根级文件夹。然后,我有src/test/java和我的cucumber代码,还有src/te