[测试方法] 公共void AddTrainer_InvokesProviderAddTrainer() { //安排 var trainerBusiness=新培训师业务(_trainerProviderMock.Object); //ACT公司 培训师业务。 AddTrainer(新UserProfile()); //资产负债表 _培训供应商模拟。 验证(v=>v.AddTrainer(It.IsAny<UserProfile>()),次数。 一次); }
-
@乔治:这是一个关于一种常见做法的问题,一开始似乎并不直观,我不明白为什么要关闭它。 – 杰伦·范内维尔 评论 2014年9月3日14:03 -
@JeroenVannevel问题的内容不是问题; 问题是问题的写法,“重点是什么?”“为什么我在乎?”“我为什么要给猴子怎么做?”这导致了争论模式,而不是“可以解决的问题”模式。 – 乔治·斯托克 评论 2014年9月3日14:05 -
当然,更不用说关于堆栈溢出有很多问题: google.com/… – 乔治·斯托克 评论 2014年9月3日14:06 -
我稍微改变了措辞。 这可能已经结束了,但根本的问题是“从单元测试的角度来看,这一验证告诉了我什么”,这是一个值得问的问题。 如果是重复的,那当然是一个很好的理由,但就目前来看,我认为这个问题是可以回答的。 – 杰伦·范内维尔 评论 2014年9月3日14:09 -
@乔治:我搜索了前面的问题,但他们似乎只是假设测试行为是一件好事。我找不到为什么测试“如何实现”会在测试“已实现”的基础上增加好处 – 西蒙N 评论 2014年9月3日15:18
2个答案
-
-
假设UserProfile的属性为IsExternal,并且如果需要阻止添加一个只有非管理员用户添加的配置文件,且该标记设置为true,那么对于管理员来说,这应该是允许的。 现在,如果有人实现了这个逻辑来检查AddTrainer方法中的IsExternal,这将是一个错误,通过这个测试可以检测到它 – 低飞鹈鹕 评论 2014年9月4日3:01 -