我正在使用phpunit进行laravel应用程序的测试我正在尝试运行以下内容以确保该文件存在。
Storage::disk('local')->assertExists("mib_players.csv");
但是当我运行测试时,我收到以下错误。
BadMethodCallException: Call to undefined method League\Flysystem\Filesystem::assertExists
任何帮助将不胜感激。
答案 0 :(得分:2)
你有两个错误。首先,您在assertExists()
对象上调用Storage
。您需要在TestCase
对象上调用assert函数。此外,没有assertExists()
,只有assertFileExists()
和assertDirectoryExists()
,但是如果特定路径中的文件存在,则会断言。
你应该做的是在你的Storage
对象中有一个方法来检查其中是否存在某个文件,如下所示:
public function fileExists($path) {
// check if file exists
return true; // or false
}
然后断言该函数返回true
$this->assertTrue(Storage::disk('local')->fileExists("mib_players.csv"));
我不知道你班级的细节,但是你可以有一个方法返回Storage
的路径,然后你可以这样做:
$this->assertFileExists(Storage::disk("local")->getPath()."mib_players.csv");