我正在尝试为groovy中的下面扫描程序方法编写测试代码覆盖率。我正在使用Spock测试框架来编写我的测试用例。
我在尝试为if else部分编写案例时遇到问题。它抱怨我仍然缺少
的调用1 * script.sh(N_COMMAND)
1 * script.sh(Node2_COMMAND + b + XYZ_NODE_COMMAND)
并且
!PROJECT_TYPE.equals('nodejs')
1 * script.sh(a + b + XYZ_GRADLE_COMMAND)
我是Spock的新手。任何帮助表示赞赏。
Groovy代码:
void scanner() {
if (obj.projectType.equals("nodejs")){
script.sh N_COMMAND
script.sh Node2_COMMAND + b + XYZ_NODE_COMMAND
} else{
script.sh a + b + XYZ_GRADLE_COMMAND
}
script.sh a + b + c
}
Spock测试框架代码:
def 'should scanner'() {
given:
config.projectType >> PROJECT_TYPE
when:
scanner()
then:
PROJECT_TYPE.equals('nodejs')
1 * script.sh(N_COMMAND)
1 * script.sh(Node2_COMMAND + b + XYZ_NODE_COMMAND)
then:
!PROJECT_TYPE.equals('nodejs')
1 * script.sh(a + b + XYZ_GRADLE_COMMAND)
then:
1 * script.sh(a + b + c)
where:
PROJECT_TYPE << ['nodejs', 'java']
}