测试树结构存在的最佳实践?例如,测试配置文件中的环境存在。下面的当前工作示例。尝试.hasProperty,但无法在像config这样的树结构中获得正确的对象引用。
def config = new ConfigSlurper(myenvironment).parse(new File('cfg.groovy').toURL())
def results = config.admin.server
try {
assert results.size != 0
} catch...
cfg.groovy
environments {
dev01 {
admin {
server = 'http://'
port = '1'
}
}
test {
admin {
server = 'http://'
port = '1'
}
}
}
答案 0 :(得分:1)
我不知道是否有更好的方法,但您可以检查为传递的环境生成的配置对象是否为空:
def environments = '''
environments {
dev01 {
admin {
server = 'http://'
port = '1'
}
}
test {
admin {
server = 'http://'
port = '1'
}
}
}
'''
def noExists = new ConfigSlurper('noExistEnv').parse(environments)
assert !noExists.isEmpty()
由于noExistEnv
不存在,因此执行显示:
Assertion failed:
assert !noExists.isEmpty()
|| |
|[:] true
false
尝试使用现有环境都能正常工作:
def environments = '''
environments {
dev01 {
admin {
server = 'http://'
port = '1'
}
}
test {
admin {
server = 'http://'
port = '1'
}
}
}
'''
def testCfg = new ConfigSlurper('test').parse(environments)
def result = testCfg.admin.server
// check that string is not empty
assert !result.isEmpty()
println result // prints "http://"
希望它有所帮助,