代码之家  ›  专栏  ›  技术社区  ›  ewok

perl:测试时计数对方法的调用

  •  0
  • ewok  · 技术社区  · 6 年前

    我有个测试是这样的:

    my $mockobj = My::Module->new();
    $mockobj = Test::MockObject::Extends->new($obj);
    
    my $callcount = 0;
    
    $mockobj->mock('Foo', sub {
      print STDERR "foo\n";
      $callcount++;
      return 1;
    });
    
    $mockobj->CallsFoo();
    is($callcount, 1);
    $mockobj->CallsFooTwice();
    is($callcount, 3);
    

    我想知道是否有更好的方法来实现这一点。在其他一些语言中,有一些模块能够监视调用函数的次数(例如 sinon 对于javascript)。perl有这样的功能吗,还是必须像这样手动操作?

    0 回复  |  直到 6 年前