PS: until it is fixed you can use org.apache.meecrowave.junit.ScopeRule Romain Manni-Bucau @rmannibucau <https://twitter.com/rmannibucau> | Blog <https://rmannibucau.metawerx.net/> | Old Blog <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book <https://www.packtpub.com/application-development/java-ee-8-high-performance>
Le lun. 17 sept. 2018 à 14:11, Romain Manni-Bucau <[email protected]> a écrit : > Hi Waldemar, > > this is right, do you want to submit a PR to fix it or do you prefer we > fix it straight? > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <https://rmannibucau.metawerx.net/> | Old Blog > <http://rmannibucau.wordpress.com> | Github > <https://github.com/rmannibucau> | LinkedIn > <https://www.linkedin.com/in/rmannibucau> | Book > <https://www.packtpub.com/application-development/java-ee-8-high-performance> > > > Le lun. 17 sept. 2018 à 14:03, Waldemar Reusch > <[email protected]> a écrit : > >> Hey guys, >> >> first time on a mailing list, please bear with me. >> >> I was trying to test request scoped beans using meecrowave-junit, and the >> test kept crashing with the following exception: >> >> javax.enterprise.context.ContextNotActiveException: WebBeans context with >> scope type annotation @RequestScoped does not exist within current thread >> at >> >> org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:329) >> at >> >> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:89) >> at >> >> org.apache.webbeans.intercept.RequestScopedBeanInterceptorHandler.getContextualInstance(RequestScopedBeanInterceptorHandler.java:76) >> at >> >> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.get(NormalScopedBeanInterceptorHandler.java:71) >> ... >> >> While digging, I came across MeecrowaveExtension:getScopes, and while >> stepping through I'm realizing that the returned optional will always >> contain null, because >> - this method is only called in beforeEach, afterEach, therefore >> context.getElement() will always return a method instance >> - method instances will never have a MeecrowaveConfig annotation, since >> that annotation is only allowed for types (MeecrowaveConfig:L35) >> >> Overriding the MeecrowaveConfig annotation with a local copy which has the >> annotation targets {TYPE, METHOD} (instead of TYPE only) allows me to >> annotate the tested method with @MeecrowaveConfig(scopes = >> RequestScoped.class), which seems to be the intended behavior. >> >> Is this a known bug? Or am I missing something else? >> >> best, >> Waldemar >> >
