在过去,我只使用了Rhino Mocks,典型的严格模拟.我正在与Moq合作开展一个项目,我想知道正确的用法.
假设我有一个方法Bar的对象Foo,它在对象Buzz上调用Bizz方法.
在我的测试中,我想验证Bizz是否被调用,因此我觉得有两种可能的选择:
用严格的模拟
var mockBuzz= new Mock<IBuzz>(MockBehavior.Strict);
mockBuzz.Setup(x => x.Bizz()); //test will fail if Bizz method not called
foo.Buzz = mockBuzz
foo.Bar();
mockBuzz.VerifyAll();
Run Code Online (Sandbox Code Playgroud)
随着一个松散的模拟
var mockBuzz= new Mock<IBuzz>();
foo.Buzz = mockBuzz
foo.Bar();
mockBuzz.Verify(x => x.Bizz()) //test will fail if Bizz method not called
Run Code Online (Sandbox Code Playgroud)
有这样做的标准或正常方式吗?
我知道有一种简单的方法可以用SVN做到这一点所以必须有类似的方式与TFS.
基本上,我希望有一个特定用户名编辑的每个文件的列表(IE:已签出并更改或添加).这是在TFS 2008上.
我在一些具有以下常量的C#项目中遇到了一堆代码:
const int ZERO_RECORDS = 0;
const int FIRST_ROW = 0;
const int DEFAULT_INDEX = 0;
const int STRINGS_ARE_EQUAL = 0;
Run Code Online (Sandbox Code Playgroud)
有没有人见过这样的东西?有没有办法合理化使用常量来表示语言结构?IE:C#在数组中的第一个索引位于第0位.我认为如果开发人员需要依赖常量来告诉他们语言是0,那么就会出现更大的问题.
这些常量的最常见用法是处理数据表或"for"循环.
我是不是觉得这些是代码味道?我觉得这些并不比以下更好:
const int ZERO = 0;
const string A = "A";
Run Code Online (Sandbox Code Playgroud) 我想为wx.Panel的背景(SetBackgroundColour)着色,用蓝色到黑色的degradê.
我该怎么做?