3

vfsstream ブロック デバイスをセットアップしましたが、それを呼び出そうとfile_get_contents()しています。ただし、への呼び出しはvfsStreamWrapper::stream_open失敗するため、ストリームを開くことができません。

これが私のコードです:

$this->root = vfsStream::setup('root');
$this->root->addChild(new vfsStreamBlock('test_block_device'));
$this->root->addChild(new vfsStreamFile('not_block_device'));
echo file_get_contents('vfs://root/test_block_device/size');

エラーは次のとおりです。

file_get_contents (vfs://root/test_block_device/size): ストリームを開けませんでした: "org\bovigo\vfs\vfsStreamWrapper::stream_open" 呼び出しに失敗しました

これは私がこれで見つけた最も近い問題です

しかし、彼はphpunitのティアダウンの問題であり、私のものはテスト中に起こります。

4

2 に答える 2

0

私はテストしているので、 file_get_contents が実行されていることは気にしませんでした。返されたものだけです。そのため、問題がわかりませんでしたが。テストの名前空間内で get_file_contents をオーバーライドして、必要なものを返すことで問題を解決しました。

誰かがこの問題に対する答えを見つけた場合、喜んでその答えをテストします。

于 2015-02-03T18:31:58.427 に答える