Mock Rhino 测试中的传递值
Passing value in Mock Rhino test
我有以下代码:
if (ActiveApplication.GetField("previous_date").Value != ActiveApplication.GetField("new_date").Value)
{
//do something..
}
我想对此进行单元测试。作为 Rhino 测试的新手,我试图弄清楚如何传递价值,以便我进入循环。这是我尝试过的:
var previous_date = MockRepository.GenerateMock<IField>();
stubApplication.Stub(x => x.GetField("previous_date")).Return(previous_date);
previous_date.Stub(x => x.GetInternalValue()).Return("20160525");
var new_date = MockRepository.GenerateMock<IField>();
stubApplication.Stub(x => x.GetField("new_date")).Return(new_date);
new_date.Stub(x => x.GetInternalValue()).Return("20160525");
有人可以告诉我我做错了什么吗?
这个returnsprevious_date,一个IField
类型的接口:
stubApplication.Stub(x => x.GetField("previous_date")).Return(previous_date)
因为它不是基础 class 实现,所以您的代码在界面上使用 Value
属性 也必须在模拟中设置,而不是使用 GetInternalValue()
。与 new_stub
.
相同
编辑: 您基本上需要执行以下操作(请注意,我不确定这是否是正确的语法,因为我没有使用过该框架,但我试图捕捉本质):
previous_date.Stub(x => x.Value).Return("20160525");
我有以下代码:
if (ActiveApplication.GetField("previous_date").Value != ActiveApplication.GetField("new_date").Value)
{
//do something..
}
我想对此进行单元测试。作为 Rhino 测试的新手,我试图弄清楚如何传递价值,以便我进入循环。这是我尝试过的:
var previous_date = MockRepository.GenerateMock<IField>();
stubApplication.Stub(x => x.GetField("previous_date")).Return(previous_date);
previous_date.Stub(x => x.GetInternalValue()).Return("20160525");
var new_date = MockRepository.GenerateMock<IField>();
stubApplication.Stub(x => x.GetField("new_date")).Return(new_date);
new_date.Stub(x => x.GetInternalValue()).Return("20160525");
有人可以告诉我我做错了什么吗?
这个returnsprevious_date,一个IField
类型的接口:
stubApplication.Stub(x => x.GetField("previous_date")).Return(previous_date)
因为它不是基础 class 实现,所以您的代码在界面上使用 Value
属性 也必须在模拟中设置,而不是使用 GetInternalValue()
。与 new_stub
.
编辑: 您基本上需要执行以下操作(请注意,我不确定这是否是正确的语法,因为我没有使用过该框架,但我试图捕捉本质):
previous_date.Stub(x => x.Value).Return("20160525");