【问题标题】:How to remove parameter constraint definitons to a variable so that Asserts become less crowded in Rhino.Mocks?如何删除变量的参数约束定义,以便断言在 Rhino.Mocks 中变得不那么拥挤?
【发布时间】:2011-12-29 15:26:03
【问题描述】:

如何排除参数约束

Arg<DateTime>.Is.Equal(departureConstraint)
    Arg<DateTime>.Is.Equal(arrivalConstraint)

来自下面的断言

mockBookingService.AssertWasCalled(
                m =>
                m.BookShuttle(Arg<DateTime>.Is.Equal(departure)

, Arg<DateTime>.Is.Equal(arrival)));

这样我就可以用更友好的方式重写它,例如:

mockBookingService.AssertWasCalled(
                m =>
                m.BookShuttle(departureConstraint, arrivalConstraint));

【问题讨论】:

    标签: c# unit-testing tdd rhino-mocks


    【解决方案1】:

    您可以使用更简洁的语法:

    Arg.Is(departureConstraint)
    
    mockBookingService.AssertWasCalled(m =>
                m.BookShuttle(Arg.Is(departure), Arg.Is(arrivalConstraint)));
    

    或者,由于您的所有参数都有实际值,您可以完全删除参数约束。

    mockBookingService.AssertWasCalled(m =>
                m.BookShuttle(departure, arrivalConstraint));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多