Comments (4)
You can define method that will provide parameters for your test:
@Test
@Parameters
public void params_in_default_method(String p1, Integer p2) { }
private Object parametersForParams_in_default_method() {
return new Object[]{new Object[]{"AAA", 1}, new Object[]{"BBB", 2}};
}
@Test
@Parameters(method = "named1")
public void params_in_named_method(String p1, Integer p2) { }
private Object named1() {
return new Object[]{"AAA", 1};
}
from junitparams.
I have a question/concern along these lines. In my case I'm using some immutable objects with values pre-set to be returned for certain getter methods. I typically create an instance of the objects in the constructor of my test, storing it as an instance variable in the test class. On each instance I initialize each getter methods to return a random value, which I also keep as instance variables. In each of my test methods the I can compare the results from the test with the appropriate instance variable value. This technique currently doesn't work in JUnitParams because the instance of the test class used to initialize the cached parameters is different from the one used to run the actual test.
I know that one solution to this would be to not use randomized values, but I'd rather not use hard coded values. This basically comes down to being able to use instance variables in your parameter methods.
Looking through the code I thought one way it could be done would be to somehow optionally set the cached parameters just before the test is run, or always set the parameters at this time. Maybe this could be done with a certain annotation or annotation parameter.
from junitparams.
@ChrisArrington wouldn't be possible to extract those instance fields as additional parameters ?
Could you post an example code to be sure that we are on the same page ?
from junitparams.
Closing because @ChrisArrington is not answering. If you have any more doubts - please open new issue.
from junitparams.
Related Issues (20)
- Better exception for missing parameters HOT 5
- Method used in Parameters(method="") is shown as unused in intelliJ HOT 2
- Make class name optional in @TestCaseName
- Escaped comma with "\\" shows as "\" in Idea RUN HOT 1
- Maven can't read artifact for version 1.1.1 HOT 1
- Question - Can we pass multiple files in the FileParameters annotation?
- Question about custom ParametersProvider (@CustomParameters) HOT 1
- @FileParameters does not respect quotes around columns in a CSV
- status of this project HOT 1
- JUnitParams cannot be used with JUnit 5's @ExtendWith mechanism
- Some tests failed with newer version of junit HOT 1
- Feature of splitting the array HOT 1
- Incorrect method 'description' evaluation (description is null) leading to NPE and build crash in maven
- How to executing single method in Android Studio?
- How to extend FileParameters to read from json lines, rather than csv, in order to allow structure? HOT 1
- "Starting 0 tests" when running instrumentation test HOT 1
- Adding a possibility to define custom TestCaseNamingStrategy HOT 1
- Fix variable font conversion from AWT to Skiko HOT 1
- Is this project still alive?
- Can`t find case, if there are no non-parameterized case
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 junitparams.