I've found 3 unit test that randomly choose a node type for a node that is supposed to break a reference constraint.
The problem with the way the node type is selected is that the code could choose one that has itself some constraints (like nt:file for example). This can make the test pass for the wrong reason.
Unfortunately having one exception for both test and failure to create a proper node structure (like in the case of an empty nt:file node) doesn't help with understanding what is happening, either.
This came up in
OAK-624, where the aforementioned behavior changed and the test started failing.