其他分享
首页 > 其他分享> > 春季-如何将属性值注入Spock测试?

春季-如何将属性值注入Spock测试?

作者:互联网

使用Spock测试时,我已经将一些属性硬编码到了Spock测试中.该示例是JDBC URL.我尝试了@Value注释和属性文件,但这似乎不起作用,因为我的测试没有构造型.还有其他解决方案来注入属性值吗?

@ContextConfiguration(locations = "classpath*:applicationContext-test.xml")
class RepositoryTest extends Specification {

    @Shared sql = Sql.newInstance("jdbc:sqlserver:// - room - for - properties")    

}

解决方法:

@Shared属性不能被注入,但是这样的事情应该起作用(对于Spring 3):

@Value("#{databaseProperties.jdbcUrl}")
String jdbcUrl

Sql sql

def setup() {
  if (!sql) {
    sql = new Sql(jdbcUrl)
  }
}

假设您已经在bean定义文件中定义了“ databaseProperties”:

<util:properties id="databaseProperties" location="classpath:database.properties" />

标签:groovy,dependency-injection,spock,spring
来源: https://codeday.me/bug/20191208/2089857.html