私はmockmoduleを使ってforkを呼び出すことを試みています。私はこれをこのように設定しています...perl mockmodule fork
my $mock = Test::MockModule->new('Foo');
$modMock->mock(fork => sub { print "here"; return 0; });
私のモジュールはFoo.pmです。私はテスト中のモジュールにロードされている他のモジュール呼び出しに関する経験を持っており、このようなモック・モジュール呼び出しはうまくいくようです。しかし、私のモックプリントステートメントには決して到達しません(実際のforkが呼び出されます)。
これはforkのようなシステムコールを模倣する正しい方法ですか?テスト対象のシステムとは別のモジュールをロードする必要がありますか?
'鯉を使用してみてください::()'ではなく ')('プリントよりcluckと。これは、コードが呼び出された場合にスタックトレースを提供します。あなたが定義しているのは '$ modMock-> fork()'だと思いますが、それはあなたが望むものだとは思いません。 –