+1

Thanks,
Marius

On 07/05/2010 11:21 AM, Vincent Massol wrote:
> Hi,
>
> Some time ago I had added the AbstractMockingComponentTestCase class in 
> shared-test. I've refactored it a bit over the week end to make it even 
> easier to use.
>
> The idea is to use a @MockingRequirement annotation in the test case class to 
> get a component instance with all its @Requirement fields injected with mocks.
>
> This makes it easier to test than using the older AbstractComponentTestCase 
> since you don't need to setup component mocks manually.
>
> Here's an example usage:
>
> public class MacroContentTableBlockDataSourceTest extends 
> AbstractMockingComponentTestCase
> {
>      @MockingRequirement
>      private MacroContentTableBlockDataSource source;
> ...
>
> Another example:
>
> public class DefaultMacroManagerTest extends AbstractMockingComponentTestCase
> {
>      // Mock all required components except for some for which we want to use 
> the real implementations since they make
>      // the test easier to write (no need to mock them).
>      @MockingRequirement(exceptions = { ComponentManager.class, 
> MacroIdFactory.class })
>      private DefaultMacroManager macroManager;
>
> As you can see in this second example, it's also possible to exclude some 
> @Requirement from being mocked if need be.
>
> I'd like that we agree to use this new test class from now on instead of 
> AbstractComponentTestCase (unless there are cases where it's not usable but 
> please discuss those use cases with me since maybe there are solutions to 
> improve AbstractMockingComponentTestCase).
>
> Here's my +1
>
> Thanks
> -Vincent
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to