NSubstitute -  InOrder
範例程式碼放在 GitHub
前言
程式執行順序也是可以驗證的
驗證執行順序
直接看程式碼
        [TestMethod]
        public void NSubstituteNote20()
        {
            //arrange
            var service = Substitute.For<IService>();
            var total = Substitute.For<ITotal>();
            var send = Substitute.For<ISend>();
            var sut = new MyDemo(service, total, send);
            //act
            sut.Do();
            //assert
            Received.InOrder(() =>
            {
                service.GetCount();
                total.GetTotal();
                send.Send();
            });
            //若順序不對 會是錯誤訊息是
            /*
            Expected to receive these calls in order:
                IService.GetCount()
                ITotal.GetTotal()
                ISend.Send()
            Actually received matching calls in this order:
                ISend.Send()
                IService.GetCount()
                ITotal.GetTotal()
            */
        }
重點是Received.InOrder
裡面就是驗證執行順序
結語
可以驗證順序實在很方便阿
如果內容有誤請多鞭策謝謝