Symfony PhpUnit:错误:无法访问jarfile./../src/Java/File.jar
运行页面测试时,我遇到浏览器上没有的错误消息: 错误:无法访问jarfile./../src/Java/File.jar 以下是对我的控制器symfony 4中的文件的调用:Symfony PhpUnit:错误:无法访问jarfile./../src/Java/File.jar,symfony,phpunit,Symfony,Phpunit,运行页面测试时,我遇到浏览器上没有的错误消息: 错误:无法访问jarfile./../src/Java/File.jar 以下是对我的控制器symfony 4中的文件的调用: exec("java -jar ./../src/Java/File.jar $params",$tab); 以下是我的测试方法: public function testView(){ $crawler = $this->client->request('GET','/test/1');
exec("java -jar ./../src/Java/File.jar $params",$tab);
以下是我的测试方法:
public function testView(){
$crawler = $this->client->request('GET','/test/1');
if( Response::HTTP_OK !== $this->client->getResponse()->getStatusCode()){
echo $crawler->filter('div.exception-message-wrapper')->text();
echo $crawler->filter('.trace-html-1')->text();
}
static::assertEquals(
Response::HTTP_OK,
$this->client->getResponse()->getStatusCode()
);
}
感谢您的帮助在控制器中,您可以尝试使用指向jar的路径,该路径将与_DIR_;相对
为了理解,您可以阅读更多关于_DIR__的内容,如果您允许我猜测的话,我猜这是因为文件不在给定位置,因为相对引用确实隐藏了它的实际位置。使用绝对路径可能会有所帮助,就像在报告为wokring的那些非测试环境中使用相同的测试工作目录一样。当运行exec命令时,它假定运行路径与加载初始php文件的路径相对。例如index.php。这可能与运行测试的路径不同。这里最好的办法是将exec命令中的绝对路径与_DIR一起使用__
exec("java -jar " . __DIR__ . "../src/Java/File.jar $params", $tab);