I vaguely remember having this problem before, but I can't uncloud my memory.
A couple of things that could help here. First, enable trace to get some debugging output from Weld and also list the versions you are using. You may want to start by seeing what you are doing differently from the in-container test case for Embedded Tomcat:
You should be able to run the tests simply by executing:
If there is a discrepancy between what that test is validating and what you are encountering, it's an opportunity to make the test more robust.