我一直在使用Groovy设置脚本环境 . 我有一个名为FrameworkiDatabase.groovy的groovy脚本,它包含一个同名的类 . 这很好用 . 我还有另一个名为connections.groovy的文件,其中包含如下 Map :
SUPPORT2=[
host:"host.name",
port:"1521",
db:"support2",
username:"username",
password:"password",
dbType:"oracle"
]
它包含一组数据库书签,有点像oracle tnsnames文件,所以在连接数据库时我不需要记住所有参数 .
使用groovysh时,我可以使用load命令导入它,它在当前范围内可用 . 如何以相同的方式将其作为脚本的一部分加载?它周围没有类定义 - 它需要一个吗?我试过这样做,并添加静态导入,但这不起作用......
我试过这样的事,但没有运气:
testFrameworkiDatabase.groovy:
import static connections
def db = new FrameworkiDatabase(SUPPORT2)
db.listInvalidObjects()
db.getDBSchemaVersion()
db.getFWiVersion()
db.getSPVersion()
db.getFileloaderVersion()
db.getAdminToolVersion()
db.getReportsVersion()
所以我想把这些连接作为常量加载 - 有什么方法可以轻松地做到这一点吗?
1 回答
不确定它是否是 best 方式,但一种方法是将其写入
Connections.groovy
然后,使用
groovyc Connections.groovy
编译它以生成类文件然后,在您的测试脚本或
groovysh
提示符下,您可以执行以下操作:要获得输出:
如果编译
Connections.groovy
类isn 't good enough, I think you'将要查看使用Groovy embedding techniques之一将源加载到Binding
对象中