The current implementation relies on JUnit as testing framework. There's no reason other frameworks could not be supported. If the JUnit API were wrapped, using a set of internal APIs for the basic assertions (assertNull, assertTrue, assertFalse, assertEquals, etc.), then a runtime check could be done after catching an internal assertionerror and direct the fail() to the appropriate framework.
The main code is no longer dependent on JUnit, but there are some additional actions / issues:
There is the possibility to provide an ActivitiRule instance to configure the services, which transitively depends on JUnit. This requires JUnit to remain a compile scoped dependency;
The library's own unit tests make heavy use of JUnit's assertions. These should be switched to Hamcrest matchers for consistency. The internal assertion logic has already been switched. Obviously, the library tests remain JUnit tests themselves.
The current implementation relies on JUnit as testing framework. There's no reason other frameworks could not be supported. If the JUnit API were wrapped, using a set of internal APIs for the basic assertions (assertNull, assertTrue, assertFalse, assertEquals, etc.), then a runtime check could be done after catching an internal assertionerror and direct the fail() to the appropriate framework.