行使Moq来Mock多单接口

发布时间:2018-09-26  栏目:法律  评论:0 Comments

   假设您曾经对Moq业已颇具了解,我们常常会面遇上多只Interface,在斯情下我们怎么样去Mock它们为,看下面的示范:
概念下如下的Interface:

职场向来是单多复杂的利益场。犹如一片浓茂密的林子,只来套于其中的人,才见面意识到里面究竟住着怎么样的平等群鸟:是快可爱的燕还是巧舌如簧的鹦鹉,是低头戏水的野鸭还是借助头朝龙之飞鸟…

   1:      public interface IFirstInterface

   2:      {

   3:         int SomeMethodOnFirstInterface();

   4:      }

   5:   

   6:      public interface ISecondInterface

   7:      {

   8:          int SomeMethodOnSecondInterface();

   9:       

  10:      }

  11:   

  12:      public interface SomeClassImplementingInterfaces : IFirstInterface, ISecondInterface

  13:      {

  14:   

  15:      }

小径幽幽,花开正好!

然后定义一个Generic方法实现两只Interface 特别之不二法门相加,返回结果:

吃市场条件之震慑,小郭所当的公司近年来业务量严重垮,年初之董事会达成,迫于各面的下压力,董事等一致通过了“减员降耗”的会员决议。

 

历经三单月的春调动,各个部门的人员编制也都趋于稳定。最给人口无消除的凡:之前一直奋战在相同线市场的前法语维权部何主管竟然于人事变动后形成成新一任的人事行政经理。而以此职务之前一直是空缺状态,即便是经历,能力都获大家一如既往肯定的柳娜,也直不吃委任。因此,这次调整无论在职级职等的力度上或于标准领域的跨度达到要说很到于人瞠目结舌。

   1:      public class SomeClass

   2:      {

   3:          public static int MultipleInterfaceUser<T>(T x)

   4:              where T : IFirstInterface, ISecondInterface

   5:          {

   6:              IFirstInterface f = (IFirstInterface)x;

   7:              ISecondInterface s = (ISecondInterface)x;

   8:   

   9:              return f.SomeMethodOnFirstInterface() + s.SomeMethodOnSecondInterface();

  10:          }

  11:      }

新官上任不久,原法务部和人事部合成为“人事行政部”。没多久,办公室便传言现任的何经理与性欲专员柳娜面和心不合。随后的一个月里,曾经以工作力量突出一直受世家看好有望提升主管的柳娜,竟然于连接调整工作内容,大起免为真正以重任的猜忌。

 

哪里经理法律专业出身。初到稍微郭所当的单位经常,一顺应八面玲珑、讨巧卖乖的容颜。平日里欣赏与具备同事打成一片,但凡与其他同事发生工作交接的地方,都表现的客气;平日里同事中谁起法律咨询方面的迷惑,他吧是热忱的援助分析解围;每逢节假日,更是温馨出资为公司拥有女性员工买多少礼品。试用期的老三独月里,他很快的斩获了小卖部具备人数之好感。试用期过后没多久,因为该总统市场的法务维权业绩突出,很快让提升法务主管。

让咱们来拘禁什么Mock它们:

这次晋升,虽说专业能力局限性有待怀疑,可大家还是觉得因为客的私房力量以及心胸,定会以这个职位上施展才华,大发泄身手。

   1:          [Test]

   2:          public void MultipleInterfaceTest()

   3:          {

   4:              Mock<SomeClassImplementingInterfaces> c =

   5:                  new Mock<SomeClassImplementingInterfaces>();

   6:   

   7:              Mock<IFirstInterface> firstMock = c.As<IFirstInterface>();

   8:              firstMock.Setup(m => m.SomeMethodOnFirstInterface())

   9:                  .Returns(2);

  10:   

  11:              Mock<ISecondInterface> secondMock = firstMock.As<ISecondInterface>();

  12:              secondMock.Setup(m => m.SomeMethodOnSecondInterface())

  13:                  .Returns(4);

  14:   

  15:              int returnValue =

  16:                  SomeClass.MultipleInterfaceUser<SomeClassImplementingInterfaces>(c.Object);

  17:   

  18:              Assert.That(returnValue, Is.EqualTo(6));

  19:          }

哪经理与柳娜的龃龉因何而从大家不得而知。据说有数口后来在显眼之下也起了几浅可以的口角。再后来,据说何经理在劳作达处处为难柳娜。原来,他是于变相的呢协调单位清理门户。

在意这里运用As办法,增加一个点名的Interface到Mock.下面这个艺术呢堪Pass:

柳娜为是智囊,明里论的达到正在班,暗里找好了后路。有条不紊的提交辞呈,交接工作。按其底计划,在离职之前想着休掉当年的年假。没就想,何经理找了各种借口就是没为他不。这不是摆明了当尴尬她呢?一个凡商家的总职工,一个凡是今天之人事行政部经理曾的法务维权部主管。员工只是在报名执行企业给的便利,领导也在转换在花样的公报私仇。而作为已经的一个法务人员现任的人事管理者,他竟是忘了和谐的差操守分明是索要站在职工规模维护职工利益的!

   1:          [Test]

   2:          public void MultipleInterfaceTest2()

   3:          {

   4:              Mock<SomeClassImplementingInterfaces> c =

   5:                  new Mock<SomeClassImplementingInterfaces>();

   6:   

   7:              c.Setup(m => m.SomeMethodOnFirstInterface()).Returns(2);

   8:              c.Setup(m => m.SomeMethodOnSecondInterface()).Returns(4);

   9:   

  10:              int returnValue =

  11:                  SomeClass.MultipleInterfaceUser<SomeClassImplementingInterfaces>(c.Object);

  12:   

  13:              Assert.That(returnValue, Is.EqualTo(6));

  14:          }

拉动在存委屈,柳娜离开了这家企业。

 

一个月份后,她过来做社保和公积金转移手续。

你得下载Moq,NUnit测试以上代码.Moq框架对UnitTest,TDD有着翻天覆地的意义,在末端来时光会介绍更多.希望对君有赞助.

按说这是个非常正常的离任补充手续而已。可就是是这般件麻烦事,让多少郭看透了何经理的为人。

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意要保留这个段子声明,且当篇章页面明显位置给出原文连接,否则保留追究法律责任的权。
该篇也罢还要宣告以本人之独博客中-Petter Liu
Blog。

柳娜来企业之不胜下午,公司主管等正在他出差。负责社保的小郭也刚好要了借。无奈,那些手续的办她啊只好找何经理去经手。

道明来意后,何经理从起了官腔:“娜娜,社保,公积金转移的之单子,我现确不克给您,我做不了之主!”

“这就是单健康的离任手续办理,您是人事行政部经营,怎么就做不了主了吧?”

“听说,你离职前有些资料啊什么的还未曾接清楚?”

“这个您放心,我就和微郭交代清楚了,他那里还有签字版的表单呢”

看到柳娜极力力辩方,何经理不耐烦了“你十分事情保密协议都没签,怎么叫您做其他步骤?”

听上似乎并未啥问题,可是柳娜知道,公司可根本没有人签了呀“保密协议”的!但以不再纠缠,她说到“好什么,那你吃本人一样卖,我签了就算是”!

签证结协议后,何经理有些不耐烦了“小郭不以,你走吧,找个他在的小日子来查办手续。”

“何经理,小郭是免在,可是我从了电话了,需要之表单我呢均好了,您如果坐个章就吓了!”柳娜果然是准备!

“你运动吧,不要耽误自己办公室,你是节我真的因为不了!”何经理显得越不耐烦了。

“你什么意思,偌大的一个供销社,怎么就查办不了一个离职手续为!”柳娜急了!

“不苟与自身当及时嚷嚷,你都休是及时的职工,老子让你滚,你便得滚!”何经理几乎是喝在说出这些话语的。他不容柳娜开口就是给楼下的物业办十分了对讲机,叫保安来清场。

看在是姿势,柳娜有些不甘了“怎么在您了,我一个正常离职,至于你这么打动干戈吗?”

圈在保安上来了,何主管瞬间发生了底气“柳娜,你来本事今天别滚啊!”脸上带在相同相符小人得志的规范……

那天下午,柳娜是一揽子空空的离开了。何经理却为转去了办公室所有人对他当的尊。

生就谦谦君子模样的哪主管,怎么会是今里斯得势后勉强取闹,小肚鸡肠又以别人黯然离场时以及人口要是绊,落井下石之口呀!

都说职场如战场,可那么吧是当互动利益中冲突之前提下才有的。大多时候,同事一样庙,大家都见面还是多还是有失在离开时受彼此留起后路,不见面涂生诸多不便和尴尬。可是,像何经理这样的,小口的内心昭然若揭的规范确实太过于急了。

依照有些郭后来讲,在他第二天上班后并未多久,他就是为那个领导训话了。说是柳娜来查办离职手续,都是为他事先未曾举行其他交待,要未雨绸缪的材料吧绝非提报所以才造成了一致庙冲突……

针对当下一体,小郭自然是心知肚明的。但这个黑锅,他背得确实有头未涉。

后来,柳娜的社保转移单子当天就给盖了章,这宗事迅速为深受搁浅了。

然而,那个下午,就于哪经理以及麾下像模像样“互撕”的经过被,何经理就绅士,谦卑,与人为善的形象于多数人眼里就然不复存在!

职场上,别人的偏离无是跳槽高升还是黯然辞职,作为曾经朝夕相处,一同共事的同事,理应相互祝福在告别。即便以已的难过无法协调的相送,那吧决不必在旁人离场时再次趁打压报复。这是一个人口最好起码的道德修养。

身于职场,有微人尚比如何经理那样,为了了早上位,曾经处心积虑的去俘获别人的好感,那个时刻,他们或者是凭着演技,通过善良,服众,识大体赢得别人眼里“好品质”的竹签。戏剧性的凡:这好像人累因为功利性太胜,以至于稍有得势,便开美起来。就比如非常何经理,他大可不必与一个下面计较太多。纵使技不如人,也急需修炼自己的理想。而不是通过逼走公然与下属“互撕”的办法那么轻易地丢自己经营许久的人!

当他人去的早晚,请捎被足别人转身的半空中!即使以马上前面,你们来了翻脸,也要放下那些陈谷子烂芝麻的前尘,不要为同样次微不足道的“翻脸”事件,暴露而应有恪守的善良。当你让他人一样糟宽容的瞩目,给好一个久违的放心时,你见面发觉,你战胜的穿梭是一模一样份尊重!

留下评论