Comments (4)
Hi @nre-ableton,
Thanks for recommending the solution. I did try that. However, the stage name is always null. So I added print statements for debugging. Looks like helper.registerAllowedMethod('stage'
is never called. Hence the currentStage
is always null
from jenkinspipelineunit.
This was a huge help. Able to replicate mock readYaml as per stage now.
Thank you so much @nre-ableton :)
from jenkinspipelineunit.
It's gonna be hacky, but I think you'll need to register closures for both the stage
and readYaml
methods. In other words, something along these lines:
@Test
void testWhatever() {
String currentStage = null
helper.registerAllowedMethod('stage', [String]) { name, body ->
currentStage = name
body()
}
helper.registerAllowedMethod('readYaml', [Map]) { args ->
switch (currentStage) {
case 'stage1':
// stuff
return [foo: 'bar']
// etc
default:
return [:]
}
}
}
from jenkinspipelineunit.
Sorry, the mock needs to be declared with [String, Closure]
(I wrote my above comment on the train from memory 😅). Like so:
from jenkinspipelineunit.
Related Issues (20)
- mock for build step HOT 3
- NoClassDefFoundError java/lang/Module with 1.15 & 1.16 HOT 3
- JenkinsPipelineUnit - unable to mock getId() called within script block
- Can't access 'env' properties in nested bindings
- Mock method of shared with defaut parameter
- Groovy 7 is not running my test when using gradlew clean test HOT 4
- Stack overflow in tests; possible to disable interception for a class? HOT 1
- document addParam HOT 1
- How to mock object creation?
- Jenkins shared library unit tests - missing dependencies and assert singleton values HOT 1
- post-unsuccessful action is not executed for parallel stage when a substage fails
- Is it possible to run unit tests over a Jenkinsfile in a remote git repo? HOT 8
- Performance: Cross-test caching of loaded scripts HOT 3
- Mocking different return values for a method the second time it is called HOT 3
- Accessing constant from another file
- Defining environment variables is not clear HOT 1
- Custom method added with registerAllowedMethod is not being utilized. HOT 13
- Why are call stack items indented with 3 spaces? HOT 2
- How to setup an initial gradle process HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jenkinspipelineunit.