The company I currently work for is primarily a java shop. The java development side of the house already has a lot of process around TDD and unit testing.
One of the advantages they have in their TDD and unit testing frameworks is a java package called EasyMock. It allows the developer to create tests that can verify behavior of functions. Normally, when we right unit tests we are only asserting some variable state. What actually happens in the function to change that variable state is a mystery.
Behavioural mocks allow for interactions between the function under test and the collaborator component(s) to be checked for expected behavior.
I ported over the EasyMock package for two reasons. 1) The CF development processes are starting to take on more agile development aspects. We need to define function behavior during testing. 2) We also needed mocks that work under CFMX 7.x, as we don't run 8.x yet.