Swiz tear down fails if a bean was previously removed with REMOVE_BEAN

Description

I think this is a pretty simple one to address. Basically if you use REMOVE_BEAN to remove a Bean from the BeanFactory, when the Swiz instance is later torn down, it will throw an error. This is because during teardown, the BeanProviders are looped over and each Bean within them is torn down. Because the removed bean was already torn down and removed, the bean sitting in the BeanProvider is essentially an empty shell, with nothing but an id/name. As a result, tearDownBean() fails with a null pointer during its processing.

For a fix, I tested adding a simple check at the start of tearDownBean() and it works correctly:

Environment

None

Status

Assignee

ChrisC

Reporter

Brian Kotek

Labels

None

Fix versions

Priority

Major
Configure