gpt4 book ai didi

rhino-mocks - 无法弄清楚犀牛模拟问题

转载 作者:行者123 更新时间:2023-12-04 06:58:52 27 4
gpt4 key购买 nike

在presenter中的一个方法中,我希望调用一个view的方法。这个方法也传递了从一个service方法中提取的数据(不是mocked的)。这个service方法基本上是从数据库中获取数据并返回List(使用LINQ to SQL ).现在,当我在测试中写这个时

 List<customers> cus = expecteddata;
view.AssertWasCalled(v => v.InitializeCustomersForSelectedCity(cus));

Rhino.Mocks.Exceptions.ExpectationViolationException: ICustomerListView.InitializeCustomersForSelectedCity(System.Collections.Generic.List`1[DAL.Customer]); Expected #1, Actual #0.

我在演示者中测试的代码
  public void HandleSelectedCity(int City)
{
selectedCity = City ;
_custometListForm.InitializeCustomersForSelectedCity(_CustomerListService.GetActiveCustomersForSelectedCity(selectedCity));
}

当我忽略参数时,测试工作正常
可能是什么问题?

最佳答案

您的断言创建了基于 cus 的期望,在单元测试中定义的变量。然而,当 InitializeCustomersForSelectedCity 被调用时,它被调用的结果是 GetActiveCustomersForSelectedCity - List<customers> 的不同实例.

期望设置基本上执行 object.Equals对预期实例和实际实例的操作。在你的情况下,它们是不同的,并且期望不满足。

要么你需要放宽你的期望来接受任何 List<customers> ,或者您还需要模拟 GetActiveCustomersForSelectedCity,以便您可以定义单元测试的返回结果。

关于rhino-mocks - 无法弄清楚犀牛模拟问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2189927/

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