Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Rhino Mock使用的最佳样式/语法是什么?_C#_Unit Testing_Syntax_Rhino Mocks_Mocking - Fatal编程技术网

C# Rhino Mock使用的最佳样式/语法是什么?

C# Rhino Mock使用的最佳样式/语法是什么?,c#,unit-testing,syntax,rhino-mocks,mocking,C#,Unit Testing,Syntax,Rhino Mocks,Mocking,使用Rhino Mock时,有多种编写单元测试的方法: 标准语法 录制/重播语法 流畅的语法 什么是最理想、最无摩擦的方式?有趣的问题!我自己的偏好是基于反射的语法(我猜你指的是标准语法)。我认为这是最无摩擦的,因为它不会添加太多额外的代码:您直接在接口上引用存根,就好像它们是正确实现的一样 我也非常喜欢流畅的语法,尽管这很麻烦。录制/重播语法与流畅语法一样麻烦(如果不是看起来更麻烦的话),但不够直观(至少对我来说)。我只使用过NMock2,所以录制/重播语法对我来说有点陌生,而Fluent

使用Rhino Mock时,有多种编写单元测试的方法:

  • 标准语法
  • 录制/重播语法
  • 流畅的语法

什么是最理想、最无摩擦的方式?

有趣的问题!我自己的偏好是基于反射的语法(我猜你指的是标准语法)。我认为这是最无摩擦的,因为它不会添加太多额外的代码:您直接在接口上引用存根,就好像它们是正确实现的一样

我也非常喜欢流畅的语法,尽管这很麻烦。录制/重播语法与流畅语法一样麻烦(如果不是看起来更麻烦的话),但不够直观(至少对我来说)。我只使用过NMock2,所以录制/重播语法对我来说有点陌生,而Fluent语法则相当熟悉


然而,正如所建议的,如果您喜欢将期望与验证/断言分开,那么您应该选择流畅的语法。这完全是风格和个人喜好的问题,最终:-)对于.NET2.0,我建议使用录制/播放模式。我们喜欢这一点,因为它清楚地区分了您的期望和验证

using(mocks.Record())
{
    Expect.Call(foo.Bar());
}
using(mocks.Playback())
{
    MakeItAllHappen();
}
如果您使用的是.NET3.5和C#3,那么我建议使用流畅的语法