Laravel 自定义目录中的测试 - 出现错误 "the name is already in use"
Laravel Tests in custom directory - Getting error "the name is already in use"
我正在尝试构建一个使用 laravel 的应用程序。有一个test目录,我用它来做应用测试。
但我在 app/MyApp/Service 目录中有一项服务。这是目录结构。
app/MyApp/Service
|-->Services
|-->Interfaces
|-->Test
|------->OLSServiceTest.php
这里是OLSServiceTest.php内容
<?php
namespace App\MyApp\Service\Test;
class OLSServiceTest extends TestCase
{
public function testInfo()
{
$this->assertTrue(true);
}
public function testLogin()
{
$this->assertTrue(false);
}
/**
* Creates the application.
*
* Needs to be implemented by subclasses.
*
* @return \Symfony\Component\HttpKernel\HttpKernelInterface
*/
public function createApplication()
{
// TODO: Implement createApplication() method.
}
}
然后我尝试运行手动测试
$ vendor/phpunit/phpunit/phpunit App\MyApp\Service\Test\OLSServiceTest
但出现此错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
Cannot declare class App\MyApp\Service\Test\OLSServiceTest, because
the name is already in use
Fatal error: Cannot declare class
App\MyApp\Service\Test\OLSServiceTest, because the name is already in
use in /var/www/app/MyApp/Service/Test/OLSServiceTest.php on line 29
我做错了什么?
您似乎在尝试 运行 使用错误的命令进行测试。尝试使用 Vendor bin 目录中的 PHPUnit 我认为它会解决您的问题。
vendor/bin/phpunit app/MyApp/Service/Test/OLSServiceTest.php
我正在尝试构建一个使用 laravel 的应用程序。有一个test目录,我用它来做应用测试。
但我在 app/MyApp/Service 目录中有一项服务。这是目录结构。
app/MyApp/Service
|-->Services
|-->Interfaces
|-->Test
|------->OLSServiceTest.php
这里是OLSServiceTest.php内容
<?php
namespace App\MyApp\Service\Test;
class OLSServiceTest extends TestCase
{
public function testInfo()
{
$this->assertTrue(true);
}
public function testLogin()
{
$this->assertTrue(false);
}
/**
* Creates the application.
*
* Needs to be implemented by subclasses.
*
* @return \Symfony\Component\HttpKernel\HttpKernelInterface
*/
public function createApplication()
{
// TODO: Implement createApplication() method.
}
}
然后我尝试运行手动测试
$ vendor/phpunit/phpunit/phpunit App\MyApp\Service\Test\OLSServiceTest
但出现此错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
Cannot declare class App\MyApp\Service\Test\OLSServiceTest, because the name is already in useFatal error: Cannot declare class App\MyApp\Service\Test\OLSServiceTest, because the name is already in use in /var/www/app/MyApp/Service/Test/OLSServiceTest.php on line 29
我做错了什么?
您似乎在尝试 运行 使用错误的命令进行测试。尝试使用 Vendor bin 目录中的 PHPUnit 我认为它会解决您的问题。
vendor/bin/phpunit app/MyApp/Service/Test/OLSServiceTest.php