代码之家  ›  专栏  ›  技术社区  ›  Chris Burgess

CRUD应用程序的基本NMock数据库示例

  •  1
  • Chris Burgess  · 技术社区  · 15 年前

    我在寻找一些使用NMock2模拟CRUD应用程序的数据库调用的基本示例。

    谢谢,

    2 回复  |  直到 15 年前
        1
  •  1
  •   Chris    15 年前

    设置:

        [SetUp]
        public void SetUp()
        {
            mocks = new Mockery();
            mockDBLayer = _mocks.NewMock<IDBLayer>();
    
            //Inject the dependency somehow
            sut = new SUT(_mockDBLayer );
        }
    

    测试:

        [Test]
        public void testMethodName_TestCase()
        {
            var dbRetrunValue = //whatever type
            Expect.Once.On(mockDBLayer).Method("dbMethod").Will(Return.Value(dbRetrunValue));
    
            //exercise
            var actual = sut.methodName();
    
            //Assert
            ...
        }
    

        [TearDown]
        public void TearDown()
        {
            mocks.VerifyAllExpectationsHaveBeenMet();
        }
    

    不过,我更喜欢Moq: http://code.google.com/p/moq/

        2
  •  1
  •   Philip Rieck    15 年前

    如果你是说测试你的DAL,你需要看看你是如何得到实际的DataReader或DataTable,或者其他什么的,这样你就可以用mock代替它。

    看到这样的博客文章 IoC and mocking data access that cover mocking a datareader