Rhino Se Moque De Fantaisie Partielle

Je suis en train de tester la logique de certaines classes existantes. Il n'est pas possible de ré-facteur de classes à l'heure actuelle, car ils sont très complexes et dans la production.

Ce que je veux faire c'est créer un objet fantaisie et de tester une méthode qui appelle en interne une autre méthode qui est très difficile à simuler.

Donc, je veux juste définir un comportement pour le secondaire d'un appel de méthode.

Mais quand je configurer le comportement de la méthode, le code de la méthode est invoquée et échoue.

Suis-je raté quelque chose ou est-ce tout simplement pas possible de tester sans re-factoring la classe?

J'ai essayé toutes les différentes maquette types (Strick,Stub,Dynamique,Partielle ect.) mais tous l'appel de la méthode lorsque j'essaie de configurer le comportement.

using System;
using MbUnit.Framework;
using Rhino.Mocks;

namespace MMBusinessObjects.Tests
{
    [TestFixture]
    public class PartialMockExampleFixture
    {
        [Test]
        public void Simple_Partial_Mock_Test()
        {
            const string param = "anything";

            //setup mocks
            MockRepository mocks = new MockRepository();


            var mockTestClass = mocks.StrictMock<TestClass>();

            //record beahviour *** actualy call into the real method stub ***
            Expect.Call(mockTestClass.MethodToMock(param)).Return(true);

            //never get to here
            mocks.ReplayAll();

            //this is what i want to test
            Assert.IsTrue(mockTestClass.MethodIWantToTest(param));


        }

        public class TestClass
        {
            public bool MethodToMock(string param)
            {
                //some logic that is very hard to mock
                throw new NotImplementedException();
            }

            public bool MethodIWantToTest(string param)
            {
                //this method calls the 
                if( MethodToMock(param) )
                {
                    //some logic i want to test
                }

                return true;
            }
        }
    }
}