如何删除变量的参数约束定义,以使断言在rhino . mock中变得不那么拥挤

本文关键字:mock rhino 断言 删除 何删除 变量 定义 参数约束 | 更新日期: 2023-09-27 18:19:12

如何排除参数约束

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));

如何删除变量的参数约束定义,以使断言在rhino . mock中变得不那么拥挤

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

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

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

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