Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Information Provided
-
1.0.0, 1.2.0
-
None
Description
We should incorporate a capability to conditionally ignore unit tests which are not relevant to certain condition, environment, language, locale etc.
For example,
- YUI compressor fails on windows
- CEFParser fails on non-English environment and we are yet to get an updated version for that.
Definitely, we can craft our test-cases to fit in, but that may lead to unintended foul-play. Instead of that if we run those tests in a quarantine, still we will have a clear view of what ran and what not as well as we will be able to proceed through a green build.
As long as release management is concerned,
- we need to be very careful about choosing what to quarantine or conditionally ignore
- we should have a clean quarantine before release for certain environment.
I am thinking about some annotation driven solution like the below one, so that we can easily track it and report.@IgnoreOn(since:Date, reason:String, conditionExpr:String)
The way Junit's assume or assumeThat works doesn't fit in directly.
Looking forward for inputs.
Ref: https://martinfowler.com/articles/nonDeterminism.html#Quarantine