So we've found the place where OwbStandaloneContainer and WeldEEMockContainer differ. Both set the @DeploymentScoped BeanManager by means of InstanceProducer<BeanManager>. However, the WeldEEMockContainer sets the instance after the container starts, i.e. it's not set if the deployment fails. On the contrary, the OwbStandaloneContainer is setting the instance before the container starts. See also org.apache.webbeans.arquillian.standalone.OwbStandaloneContainer#deploy().
Tomas Remes tried to move beanManagerProducer.set() after lifecycle.startApplication() and the test passed.
This is not a TCK issue and I'm not sure if there's something Arquillian core can do with this. I think the problem is specific to embedded containers but I don't have a deep knowledge in this area.
|