gpt4 book ai didi

mocking - 什么是模拟录制和回放?

转载 作者:行者123 更新时间:2023-12-02 14:26:19 25 4
gpt4 key购买 nike

我有一个模拟如下:

MockRepository mocks = new MockRepository();
ILoanRepository loanRepo = mocks.StrictMock<ILoanRepository>();
SetupResult.For(loanRepo.GetLoanExtended("sdfsdf")).Return(list.AsEnumerable<Loan>());
mocks.ReplayAll();

我的问题是我看到上面的内容被用于 using 语句,例如

using (mocks.Record()) { // code here }
using (mocks.Playback()) { // code here }

这样做的目的是什么以及与我所做的有什么不同?

最佳答案

这些只是执行相同操作的另一种语法。以下是等效的:

MockRepository mocks = new MockRepository();
ILoanRepository loanRepo = mocks.StrictMock<ILoanRepository>();
SetupResult.For(loanRepo.GetLoanExtended("sdfsdf")).Return(list.AsEnumerable<Loan>());
mocks.ReplayAll();
//test execution

和:

MockRepository mocks = new MockRepository();
using (mocks.Record()) {
ILoanRepository loanRepo = mocks.StrictMock<ILoanRepository>();
SetupResult.For(loanRepo.GetLoanExtended("sdfsdf")).Return(list.AsEnumerable<Loan>());
}
using (mocks.Playback()) {
//test execution
}

为了让事情变得更加复杂,有一种新的第三种语法,您没有显式的记录和播放阶段,称为排列、 Action 、断言语法,请参见例如http://ayende.com/blog/archive/2008/05/16/rhino-mocks--arrange-act-assert-syntax.aspx

关于mocking - 什么是模拟录制和回放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com