Grails未将DataSource.groovy文件用于测试环境
我想在grails中将数据库从inbuild H2更改为Mysql数据库,grails文档说Datasource.groovy文件中的更改将更改数据库,但它仅适用于我的开发环境,而不适用于测试环境,甚至我也尝试过删除完整的Datasource.groovy文件,从mysql中删除数据库,并尝试运行测试——它刚刚成功,所以任何人都可以帮助我解决我所犯的错误 我已经讨论了stackoverflow中几乎所有的问题,每个人都建议在DataSource.groovy文件中进行更改,但这对我不起作用Grails未将DataSource.groovy文件用于测试环境,grails,Grails,我想在grails中将数据库从inbuild H2更改为Mysql数据库,grails文档说Datasource.groovy文件中的更改将更改数据库,但它仅适用于我的开发环境,而不适用于测试环境,甚至我也尝试过删除完整的Datasource.groovy文件,从mysql中删除数据库,并尝试运行测试——它刚刚成功,所以任何人都可以帮助我解决我所犯的错误 我已经讨论了stackoverflow中几乎所有的问题,每个人都建议在DataSource.groovy文件中进行更改,但这对我不起作用 da
dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
username = "root"
logSql =true
password = "root"
properties {
maxActive = -1
minEvictableIdleTimeMillis = 1800000
timeBetweenEvictionRunsMillis = 1800000
numTestsPerEvictionRun = 3
testOnBorrow = true
testWhileIdle = true
connectionProperties = "[autoReconnectForPools=true]"
testOnReturn = true
validationQuery = "SELECT 1"
}
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
environments {
development {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop','update'
url = "jdbc:mysql://127.0.0.1/devenvi"
}
}
test {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop','update'
url = "jdbc:mysql://127.0.0.1/testenvi"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:mysql://127.0.0.1/prodenvi"
}
}
}
1) 确保在DataSource.groovy中有一节用于测试环境,例如:
dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
dialect = org.hibernate.dialect.MySQL5InnoDBDialect
}
environments {
test {
dataSource {
url = "jdbc:mysql://liveip.com/liveDb"
// other environment-specific settings here
}
}
}
2) 确保您正在执行的生成指定了测试环境:
/path/to/grails -Dgrails.env=test war
将生成project.war文件,该文件将在DataSource.groovy文件中使用适当的环境设置您可以发布DataSource.groovy文件吗?嘿,我发布了我的DataSource.groovy。我正在使用eclipse运行测试用例您是否指定了测试环境?正如在“grails test run-app”中一样,您可以按Command+Option+Shigt+G在STS中获取grails菜单并在那里运行该命令(无论如何,在Mac上)。我只在测试环境中运行,即使在STS控制台的顶部,它也会将该命令显示为“test-app-integration”,它正在运行HRM。。。你能发布你的集成测试吗?