.NET重构?单元测试重构(1)
作者:网络转载 发布时间:[ 2013/10/9 13:47:19 ] 推荐标签:
这个类表示远程Order服务,只有一个方法GetOrders,该方法可以根据OrderId来查询Order信息,为了简单起见,如果返回true说明服务调用成功,如果返回false表示调用失败;其中构造函数包含了三个接口,分别用来表示不同用途的接口抽象;IServiceConnection表示对远程服务链接的抽象,IServiceReader表示对不同服务接口读取的抽象,IServiceWriter表示对不同服务接口写入的抽象;这么做可以大化的分解耦合;
|
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using NSubstitute; using UnitTestRefactoring; namespace UnitTestRefactoring.UnitTests { [TestClass] public class OrderService_UnitTests { [TestMethod] public void OrderService_GetOrders_NormalFlows() { IServiceConnection mockServiceConnection = Substitute.For<IServiceConnection>(); IServiceReader mockServiceReader = Substitute.For<IServiceReader>(); IServiceWriter mockServiceWriter = Substitute.For<IServiceWriter>(); OrderService testOrderService = new OrderService(mockServiceConnection, mockServiceReader, mockServiceWriter); bool testResult = testOrderService.GetOrders("10293884"); Assert.AreEqual(true, testResult); } [TestMethod] public void OrderService_GetOrders_OrderIdIsNull() { IServiceConnection mockServiceConnection = Substitute.For<IServiceConnection>(); IServiceReader mockServiceReader = Substitute.For<IServiceReader>(); IServiceWriter mockServiceWriter = Substitute.For<IServiceWriter>(); OrderService testOrderService = new OrderService(mockServiceConnection, mockServiceReader, mockServiceWriter); bool testResult = testOrderService.GetOrders(string.Empty); Assert.AreEqual(false, testResult); } } } using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using NSubstitute; using UnitTestRefactoring; namespace UnitTestRefactoring.UnitTests { [TestClass] public class OrderService_UnitTests { [TestMethod] public void OrderService_GetOrders_NormalFlows() { IServiceConnection mockServiceConnection = Substitute.For<IServiceConnection>(); IServiceReader mockServiceReader = Substitute.For<IServiceReader>(); IServiceWriter mockServiceWriter = Substitute.For<IServiceWriter>(); OrderService testOrderService = new OrderService(mockServiceConnection, mockServiceReader, mockServiceWriter); bool testResult = testOrderService.GetOrders("10293884"); Assert.AreEqual(true, testResult); } [TestMethod] public void OrderService_GetOrders_OrderIdIsNull() { IServiceConnection mockServiceConnection = Substitute.For<IServiceConnection>(); IServiceReader mockServiceReader = Substitute.For<IServiceReader>(); IServiceWriter mockServiceWriter = Substitute.For<IServiceWriter>(); OrderService testOrderService = new OrderService(mockServiceConnection, mockServiceReader, mockServiceWriter); bool testResult = testOrderService.GetOrders(string.Empty); Assert.AreEqual(false, testResult); } } } |
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
iOS单元测试mocha、chai、sinon和istanbul实现百分之百的单元测试覆盖率关于单元测试的总结及思考编写更好的Java单元测试的7个技巧Android单元测试框架Robolectric3.0介绍(一)使用Kiwi单元测试总结单元测试如此重要,为什么你不知道Python单元测试??使用装饰器实现测试跳过和预期故障对Controller的单元测试写好单元测试的10个技巧单元测试的重要性Angular单元测试系列??Component、Directive、Pipe 以及ServiceAndroid单元测试的整理提升单元测试体验的利器--Mockito使用总结iOS UnitTest单元测试Vue的单元测试探索(二)

sales@spasvo.com