It would be much simpler if you change the way you access the PluginManager. I 
am using a Facade 
(https://github.com/jenkinsci/plugin-util-api-plugin/blob/master/src/main/java/io/jenkins/plugins/util/JenkinsFacade.java
 
<https://github.com/jenkinsci/plugin-util-api-plugin/blob/master/src/main/java/io/jenkins/plugins/util/JenkinsFacade.java>)
 for all calls to the running Jenkins instance in my plugins. This facade then 
can be replaced by a stub in your tests. 

Example: 
https://github.com/jenkinsci/warnings-ng-plugin/blob/master/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/ModelValidationTest.java#L104
 
<https://github.com/jenkinsci/warnings-ng-plugin/blob/master/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/ModelValidationTest.java#L104>


> Am 10.11.2020 um 19:39 schrieb Hosh <hsa...@launchdarkly.com>:
> 
> Hi all,
> 
> I'm trying to write some tests for some changes I made to the datadog plugin 
> at the request of the maintainer. The tests should ideally mock the 
> PluginManager that JenkinsRule uses as I'm trying to test that the code is 
> returning certain numbers based on what plugins are installed (e.g. active, 
> inactive, updatable plugins etc)..
> 
> The problem however is that I am unable toset the plugin manager when trying 
> to mock it. I've tried using new 
> JenkinsRule().with(mock(PluginManager.class)), but this seemed to cause 
> issues in the rest of the code, setting the plugin manager in any other way 
> complains that the plugin manager is already set.
> 
> For reference, the PR is located here: 
> https://github.com/jenkinsci/datadog-plugin/pull/156
> 
> Thanks
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to jenkinsci-dev+unsubscr...@googlegroups.com 
> <mailto:jenkinsci-dev+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/2415979d-575e-4033-8b37-fd6686bce140n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jenkinsci-dev/2415979d-575e-4033-8b37-fd6686bce140n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/C0EA5EE5-2CD4-48EF-99C5-F909304ACA8F%40gmail.com.

Reply via email to