VS2012下使用Moq进行单元测试
2013-06-20 23:03
295 查看
单元测试虽然是个很老的东西了,但平时写代码一般都不写测试,因为VS调试完全可以满足了,所以一直也就没有用过,刚好在《Pro.ASP.NET.MVC.3.Framework》中看到了Moq这个东西,于是就把vs自带的单元测试和也研究了一下。好吧,我们现在就开始吧。
新建MVC3项目如下:
View Code
以上是在vs2012下作的测试,当然在vs2010下会有小许不同,vs2010在方法上是通过右键创建单元测试,而vs2012单独拿了出来放在新建项目中,vs2010要一个一个方法的进行测试,而vs2012可以一次全部运行测试,并且还可以设置 编译后自动运行测试,这是2012的亮点。当然,这篇文章只是对VS2012和MOQ做了一个简单的介绍而已,您还可以通过以下链接来加深对Moq的理解
(1)/article/5088926.html
(2)http://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-03-Using-Mock-moq.aspx
(3)https://code.google.com/p/moq/wiki/QuickStart
新建MVC3项目如下:
[TestMethod] public void GetPersonByIdTest() { //创建MOCK对象 var mock = new Mock<IPersonProvider>(); //设置MOCK调用行为 mock.Setup(foo=>foo.GetPersonById("1")).Returns(new Person()); //MOCK调用方法 mock.Object.GetPersonById("1"); Assert.AreNotSame(new Person(), mock.Object.GetPersonById("1")); var mock1 = new Mock<IPersonProvider>(); mock1.Setup(foo => foo.GetPersonById(It.IsAny<string>())).Returns(new Person()); Assert.AreNotSame(new Person(), mock1.Object.GetPersonById("aaa")); } [TestMethod] public void RemovePersonTest() { var mock = new Mock<IPersonProvider>(); mock .Setup(foo => foo.RemovePerson(It.Is<string>(s=>s=="1"||s=="2"))) .Returns(true); Assert.AreEqual(true,mock.Object.RemovePerson("1")); }
View Code
以上是在vs2012下作的测试,当然在vs2010下会有小许不同,vs2010在方法上是通过右键创建单元测试,而vs2012单独拿了出来放在新建项目中,vs2010要一个一个方法的进行测试,而vs2012可以一次全部运行测试,并且还可以设置 编译后自动运行测试,这是2012的亮点。当然,这篇文章只是对VS2012和MOQ做了一个简单的介绍而已,您还可以通过以下链接来加深对Moq的理解
(1)/article/5088926.html
(2)http://blog.miniasp.com/post/2010/09/16/ASPNET-MVC-Unit-Testing-Part-03-Using-Mock-moq.aspx
(3)https://code.google.com/p/moq/wiki/QuickStart
相关文章推荐
- VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试
- 如何使用MOQ进行单元测试
- VS2010(2012)中使用Unit Testing进行单元测试
- VS 2012环境下使用MFC进行OpenGL编程
- VS2015 使用Xunit来进行单元测试
- vs2012 进行窗口程序编程使用comboBox就会卡死的问题
- VS2012+openCV 2.4.8进行编译:VS2012 64位 使用OPENCV应用程序不能正常启动 (0xc000007b)怎么处理?
- 如何使用MOQ进行单元测试
- VS2010(2012)中使用Unit Testing进行单元测试
- VS2010(2012)中使用Unit Testing进行单元测试
- VS 2012 在 windows 8 中无法使用 Deubgger.Lunch() 对服务进行调试
- 如何使用MOQ进行单元测试
- asp.net mvc3 对HttPost来的表单使用moq进行单元测试
- 单元测试中使用Moq对EF的DbSet进行mock
- 【PRO ASP.NE MVC4 学习札记】使用Moq辅助进行单元测试
- 如何使用CppUnit进行单元测试
- 使用VS 2005 Team Suit创建单元测试
- 如何在VS中进行单元测试
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 使用 Qunit 对js代码进行单元测试