.NET重构?单元测试重构(1)
作者:网络转载 发布时间:[ 2013/10/9 13:47:19 ] 推荐标签:
|
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NSubstitute;
using UnitTestRefactoring;
namespace UnitTestRefactoring.UnitTests
{
[TestClass]
public class ProductService_UnitTests
{
IServiceConnection mockServiceConnection = Substitute.For<IServiceConnection>();
IServiceReader mockServiceReader = Substitute.For<IServiceReader>();
IServiceWriter mockServiceWriter = Substitute.For<IServiceWriter>();
[TestMethod]
public void ProductService_GetProduct_NormalFlows()
{
ProductService testProductService = new ProductService(mockServiceConnection, mockServiceReader, mockServiceWriter);
bool testResult = testProductService.GetProduct("5475684684");
Assert.AreEqual(true, testResult);
}
[TestMethod]
public void ProductService_GetProduct_ProductIsNull()
{
ProductService testProductService = new ProductService(mockServiceConnection, mockServiceReader, mockServiceWriter);
bool testResult = testProductService.GetProduct(string.Empty);
Assert.AreEqual(false, testResult);
}
}
}
|
这是单元测试类,没有什么特别的,跟之前的OrderService一样的逻辑;是不是发现两个测试类都在公用一组相关的接口,这里需要我们将他们提取出来放入基类中;
using NSubstitute;
namespace UnitTestRefactoring.UnitTests
{
public abstract class ServiceBaseUnitTestClass
{
protected IServiceConnection mockServiceConnection = Substitute.For<IServiceConnection>();
protected IServiceReader mockServiceReader = Substitute.For<IServiceReader>();
protected IServiceWriter mockServiceWriter = Substitute.For<IServiceWriter>();
}
}
using NSubstitute;
namespace UnitTestRefactoring.UnitTests
{
public abstract class ServiceBaseUnitTestClass
{
protected IServiceConnection mockServiceConnection = Substitute.For<IServiceConnection>();
protected IServiceReader mockServiceReader = Substitute.For<IServiceReader>();
protected IServiceWriter mockServiceWriter = Substitute.For<IServiceWriter>();
}
} |
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。