Conceptos
Message
Un modelo de abstracción para cualquier 'message' que sea manejado por la implementación del framework (request, response, payload, etc.). Un message está tipado contra un tipo de Java conocido que representa el contenido en forma deserializada, también denominado Document Type.
MessageType
Una representación del tipo de messages que puede referirse a través del BDD; debería haber un mapeo uno a uno entre la instancia de MessageType y el Document type asociado de un Message.
MessageDefinition
Una estructura contextual que proporciona funcionalidad para manejar messages del tipo configurado, sirviendo como un punto de Inversión de Control con el test-framework. Debería existir un mapeo uno a uno entre la instancia de MessageDefinition y el Message Type configurado, y es común ver tanto Message como MessageDefinition como argumentos para métodos del core.
MessageBucket
Una colección mejorada a la que se añaden cualquier messages recibidos por el test-framework (ya sea directamente desde Consumers, o secundarios como respuestas HTTP). La colección interna está encapsulada y se proporcionan métodos de acceso basados en predicados para "pescar" mensajes correlacionados del bucket. Un message "pescado" con éxito normalmente se elimina del bucket y se añade al objeto Context propio de la prueba.