Try to avoid eventBus.post from within the unit tests for the core. Its better practice to call the public methods directly. It is not the goal to test to ensure guava's event bus works correctly, we are testing that the event handler themselves actually work as intended.
This ensures that we aren't relying on a "side effect" of the event bus. We are only testing the class under test.
Unit tests should try to avoid using the dependency injection framework. Tests should be focused on testing the class, not how the data flows across the entire program.
Aside: Tests that do test multiple components should probably be labeled integration tests.
UI
Test the actions/events that components emit, not the entire flow through the application.
Core
eventBus.post
from within the unit tests for the core. Its better practice to call the public methods directly. It is not the goal to test to ensure guava's event bus works correctly, we are testing that the event handler themselves actually work as intended. This ensures that we aren't relying on a "side effect" of the event bus. We are only testing the class under test.UI