有人可以提供使用set_bound()模块中的Test::MockObject方法的示例吗?

set_bound()方法是否可以返回Test::MockObject的实例(或其他与此相关的对象)

最佳答案

*“ set_bound方法可以返回Test :: MockObject的实例(或与此相关的任何其他对象)” *

是。从source

sub set_bound {
    # ...
    return unless exists $bindings{reftype( $ref )};
    $self->mock( $name,  $bindings{reftype( $ref )} );
} # So this returns either undef, or result of mock() call

sub mock {
    #...
    $self;
} # So this CAN return an instance of Test::MockObject


*有人可以提供一个使用Test :: MockObject模块中的set_bound方法的示例吗?*

my $value = 'X';
$mock->set_bound( 'next_value', \$value );
is( $mock->next_value, 'X' );
$var = 'Y';
is( $mock->next_value, 'Y' ); # Method result changed to new value of the variable


为什么要使用它? POD指出“这通常比替换模拟方法更方便”。我猜“更熟练”在啤酒持有者的眼中,但这无疑是一个很好的捷径。

关于perl - Perl在Test::MockObject中使用set_bound,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9268717/

10-10 16:32