You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Gerhard Petracek (JIRA)" <ji...@apache.org> on 2014/05/17 14:41:15 UTC

[jira] [Comment Edited] (DELTASPIKE-588) Repositories from Data module should be deactivatable

    [ https://issues.apache.org/jira/browse/DELTASPIKE-588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14000775#comment-14000775 ] 

Gerhard Petracek edited comment on DELTASPIKE-588 at 5/17/14 12:40 PM:
-----------------------------------------------------------------------

mocking partial beans requires something like:

{code}
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
    {
        if (isMockedMethod(method))
        {
            return method.invoke(this, args);
        }
        //...
    }

    private boolean isMockedMethod(Method method)
    {
        try
        {
            return getClass().getDeclaredMethod(method.getName(), method.getParameterTypes()) != null;
        }
        catch (NoSuchMethodException e)
        {
            return false;
        }
    }
{code}

in the InvocationHandler.

The mocked InvocationHandler needs to be something like:

{code}
@Typed()
public class MockedPartialBean extends CustomPartialBeanHandler implements PartialBean
{
    //mocked method implementations
}
{code}


was (Author: gpetracek):
mocking partial beans requires something like:

{code}
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
    {
        if (isMockedMethod(method))
        {
            return method.invoke(this, args);
        }
        //...
    }

    private boolean isMockedMethod(Method method)
    {
        try
        {
            return getClass().getDeclaredMethod(method.getName(), method.getParameterTypes()) != null;
        }
        catch (NoSuchMethodException e)
        {
            return false;
        }
    }
{code}

in the InvocationHandler.

> Repositories from Data module should be deactivatable
> -----------------------------------------------------
>
>                 Key: DELTASPIKE-588
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-588
>             Project: DeltaSpike
>          Issue Type: Improvement
>          Components: Data-Module
>            Reporter: Karl Kildén
>            Assignee: Thomas Hug
>            Priority: Minor
>
> Unit testing with Test-Control is great. However since you don't control the actual implementation of the Repositories from data-module they are to hard to mock away.
> Either provide a built in project stage for this purpose -> ProjectStage.MockFriendlyUnitTest or make it Deactivatable like other components are.
> The end user would benefit a lot from being able to mock away repositories in certain unit tests.  



--
This message was sent by Atlassian JIRA
(v6.2#6252)