初学者使用C# .net的模拟框架遇到麻烦

3
我是一名参加工作实习的学生。我被分配完成一个应用程序然后进行测试。
应用程序已经完成,我已经测试了80%。然而,我有一些方法无法直接测试,因为它们使用会话变量和表单请求。我知道我需要使用模拟框架,并选择了moq,因为根据我所读的,它很棒。不幸的是,我试着玩了一下,发现它有点超出我的能力范围(我对C#总体上还很新,包括lambda等)。
我找不到简化的初学者指南。你有什么建议吗?如我所说,我只需要能够模拟会话和表单。到目前为止,所有尝试都是我(毫无意义地)插入了在此处找到的随机代码,并希望它能奏效。
我更想理解它,这样我才能真正使用它……
谢谢!

1
当我开始学习表达式时,有一件事情帮助我理解它们,那就是意识到它们并不总是被执行。例如,x => x.MyProperty = 5 不仅仅是字面意思。从这个语句中形成的表达式是一种特殊类型的对象,可以在运行时进行分析,以便程序可以说:“好的,我接收一个参数 x,然后我应该将 MyProperty 的 setter 传递一个值为 5。”这就是 Moq 如何使用它们的方式——它并不实际执行代码,而只是分析它以查看您感兴趣的属性/方法。 - Jeremy Todd
1个回答

3
我找到了这些基础教程。我认为没有任何东西涵盖了Moq框架的基本C#概念。如果你在像Lambda这样的事情上卡住了,应该很容易找到一个初学者教程。我在下面添加了一些Lambda教程的链接。
在尝试主要应用程序的完整解决方案之前,您可能还想尝试制作一些简单的原型。这将让您在不必担心应用程序细节的情况下玩弄概念。

http://code.google.com/p/moq/wiki/QuickStart

http://andrewblogs.com/blog/moq-testing-tutorial/

http://blogs.msdn.com/b/ericwhite/archive/2006/10/03/lambda-expressions.aspx

http://www.switchonthecode.com/tutorials/csharp-tutorial-the-lambda-operator


我刚刚看了第一个链接,但从未见过第二个链接,它看起来很棒!至于Lambda等内容,我相当确定我可以弄清楚那些东西...我还发现了这个网址:http://dotnetslackers.com/articles/designpatterns/To-mock-or-not-to-mock-that-is-the-question-Part-1.aspx,它不仅适用于moq,而且也很有帮助。非常感谢! - mrwienerdog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接