我知道这是相当主观的,但我正在深入测试和学习嘲笑,我正在试图找出我应该使用哪个框架.如果你能告诉我你推荐哪些,最重要的是为什么它比你用过的其他人更好,我会说的.或者,如果有人知道我可以在哪里进行并排比较,这也是有帮助的.
我使用过Rhino.Mocks,Moq和NMock.我以前更喜欢Moq.
我现在使用NSubstitute ...并发现它的语法远远优于moq的语法,你不会通过权力牺牲任何东西.
我曾经写过这样的测试:
[Test]
public void SomeOtherTest()
{
//Arrange
var mock = new Mock<IFoo>();
var sut = new SystemUnderTest(mock.Object); //never liked doing it this way...
mock.Setup(m => x.Bar()).Returns("A whole bunch of ceremonial syntax..");
//Act
sut.DoSomething();
//Assert
mock.Verify(m => m.Baz()); //Baaaaah, more laaaaambdas
}
Run Code Online (Sandbox Code Playgroud)
现在我陶醉于非lambda-eryness
[Test]
public void NSubTest()
{
var mock = Substitute.For<IFoo>();
var sut = new SystemUnderTest(mock); //much nicer!
mock.Bar().Returns("Look ma! No lambdas!");
sut.DoSomething();
mock.Received().Baz();
}
Run Code Online (Sandbox Code Playgroud)
最后一点..它在github上......
http://nsubstitute.github.com/