Groovy 无法使用CredentialInterceptor测试基线PipelineTest

Groovy 无法使用CredentialInterceptor测试基线PipelineTest,groovy,jenkins-pipeline,jenkins-pipeline-unit,Groovy,Jenkins Pipeline,Jenkins Pipeline Unit,我正在测试Jenkins脚本管道中的一个函数 void doSomeDockerThings(){ withCredentials([[$class: 'UsernamePasswordMultiBinding', creditialsId: 'my_creds', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) { sh "docker login -u $USERNAME -p '$PASSWORD

我正在测试Jenkins脚本管道中的一个函数

void doSomeDockerThings(){
   withCredentials([[$class: 'UsernamePasswordMultiBinding', creditialsId: 'my_creds', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
      sh "docker login -u $USERNAME -p '$PASSWORD' $DTR"
   }
}
从扩展BasePipelineTest的Groovy单元测试中,我有以下测试方法

@Test
void testDoSomeDockerThings(){
   helper.registerAllowedMethod( "withCredentials", [LinkedHasMap.class, Closure.class], null );
   helper.registerAllowedMethod( "sh", [String.class], {c -> return c; })
   binding.setVariable( "USERNAME", "user" );
   binding.setVariable( "PASSWORD", "password" );
   binding.setVariable( "DTR", "Docker_Trusted_Registry" );
}
我现在要做的是编写一个断言,该命令以我所期望的方式执行。由于这是一个更接近的问题,我如何才能验证这一点

sh "docker login -u $USERNAME -p '$PASSWORD' $DTR"
我也尝试过使用withCredentialsInterceptor,但我似乎无法获得它所期望的语法。如果有人能举个例子,我将不胜感激

helper.registerAllowedMethod( "withCredentials", [LinkedHasMap.class, Closure.class], withCredentialsInterceptor );
我真的很难找到如何做到这一点的文档或示例