I have gone through all the previous answers and none of them solve my problem.

lets say that i have the following code:

```
public interface ISomeInterface
{
    int SomeMethod(int a, string b);
}

```

Now i have a common mocking class that defines some default behaviour for the above method

```
public class CommonMock
{
    public Mock<ISomeInterface> MockInterface = new Mock<ISomeInterface>().Setup(x => x.SomeMethod(It.IsAny<int>(), It.IsAny<string>())).Returns(It.IsAny<int>());
}

```

I need some default behaviour because I have a whole lot of test cases which need a default behaviour.

But in some specific test scenarios, in a totally separate test class, i need to be able to return a different value as i am testing some specific test case. 

Something like below:

```
[Test]
public void TestSomeMethodSpecific()
{
    var commonMock = new CommonMock();
    commonMock.MockInterface.Setup(x => x.SomeMethod(It.IsAny<int>(), It.IsAny<string>())).Returns(42);

    // Do some test based on the new return value
}

```

How can I achieve that? 

Below i am attaching a bit of the actual code:

Common Setup

```
public class MockStore
{
    public Mock<IProcessHandler> ProcessHandler = new Mock<IProcessHandler>();
    ProcessHandler.Setup(x => x.GetCurrentProcessRunId()).Returns(It.IsAny<int>());
}

```

Overridden Setup in a test class

```
var mockstore = new MockStore();
mockStore.ProcessHandler.Setup(x => x.GetCurrentProcessRunId()).Returns(25);

```

And there are almost 50 to 70 such mocks each of which return from simple types to complex classes.