C# 如何使用stubbaseclass作为新类的基础进行测试 公共类stubBaseTx:BaseTxFlowOperations { 私有模拟库模拟; 私人ITransaction mockITransaction; 公共stubBaseTx() { mocks=新Rhino.mocks.MockRepository(); mockITransaction=mocks.DynamicMock(); mocks.ReplayAll(); } 受保护的覆盖ITransaction FlowProperty\u事务 { 得到 { 返回mockITransaction; } } } 公共类StubWithdrFlowISONet:DrawalFlowIsoNet { 私有模拟库模拟; private bool FlowProperty_PINReAv=假; 公共stubwithdrflowsonet() { mocks=新Rhino.mocks.MockRepository(); mocks.ReplayAll(); stubBaseTx obj=新的stubBaseTx(); base.CreateCRMManager(); } 受保护的覆盖布尔FlowProperty\u PINRetriesAvailable { 得到 { 返回FlowProperty_PINReAv; } } }

C# 如何使用stubbaseclass作为新类的基础进行测试 公共类stubBaseTx:BaseTxFlowOperations { 私有模拟库模拟; 私人ITransaction mockITransaction; 公共stubBaseTx() { mocks=新Rhino.mocks.MockRepository(); mockITransaction=mocks.DynamicMock(); mocks.ReplayAll(); } 受保护的覆盖ITransaction FlowProperty\u事务 { 得到 { 返回mockITransaction; } } } 公共类StubWithdrFlowISONet:DrawalFlowIsoNet { 私有模拟库模拟; private bool FlowProperty_PINReAv=假; 公共stubwithdrflowsonet() { mocks=新Rhino.mocks.MockRepository(); mocks.ReplayAll(); stubBaseTx obj=新的stubBaseTx(); base.CreateCRMManager(); } 受保护的覆盖布尔FlowProperty\u PINRetriesAvailable { 得到 { 返回FlowProperty_PINReAv; } } },c#,C#,这里,从DrawalFlowOperations类中提取DrawalFlowIsOne,从BaseTxFlowOperations类中提取DrawalFlowOperations,现在我有了FlowProperty\u事务 BaseTxFlowOperations中的属性,我必须将其传递给DrawalFlowIsoNet类,但它是只读的,只能在BaseTxFlowOperations中修改。现在,我创建了stubBaseTx类只是为了修改FlowProperty\u事务 属性,那么如何将stub

这里,从DrawalFlowOperations类中提取DrawalFlowIsOne,从BaseTxFlowOperations类中提取DrawalFlowOperations,现在我有了FlowProperty\u事务 BaseTxFlowOperations中的属性,我必须将其传递给DrawalFlowIsoNet类,但它是只读的,只能在BaseTxFlowOperations中修改。现在,我创建了stubBaseTx类只是为了修改FlowProperty\u事务 属性,那么如何将stubBaseTx类分配给DrawalFlowIsoNet类,以便它可以作为DrawalFlowIsoNet类的基础。 [C#] 谢谢 尼桑

public class stubBaseTx : BaseTxFlowOperations
    {
        private MockRepository mocks;
        private ITransaction mockITransaction;
        public stubBaseTx()
        {
            mocks = new Rhino.Mocks.MockRepository();
            mockITransaction = mocks.DynamicMock<ITransaction>();
            mocks.ReplayAll();
        }
        protected override ITransaction FlowProperty_Transaction
        {
            get
            {
                return mockITransaction;
            }
        }
    }
   public class StubWithdrFlowISONet :WithdrawalFlowISONet
    {
       private MockRepository mocks;


        private bool FlowProperty_PINReAv = false;
        public StubWithdrFlowISONet()
        {
            mocks = new Rhino.Mocks.MockRepository();

            mocks.ReplayAll();
            stubBaseTx obj = new stubBaseTx();

            base.CreateCRMManager();

        }

        protected override bool FlowProperty_PINRetriesAvailable
        {
            get
            {

                return FlowProperty_PINReAv;
            }
        }


    }