我想在我的项目中测试特定的testClass,因为有很多测试类失败,我只想一次测试一个类。
我在以下文件夹\test\repositories\ApplicationVersionFormat.php
中创建了测试类:
<?php
use App\Repositories\ApplicationVersionFormat;
class ApplicationVersionFormatTest extends \TestCase
{
public function testValidFormat()
{
$version = '1.2.3';
$appVersion = new ApplicationVersionFormat();
$this->assertEquals(true,$appVersion->isValidVersion($version));
}
public function testInvalidFormat()
{
$version = '11.2.3';
$appVersion = new ApplicationVersionFormat();
$this->assertEquals(false,$appVersion->isValidVersion($version));
}
public function testInvalidFormat2()
{
$version = '1.22.3';
$appVersion = new ApplicationVersionFormat();
$this->assertEquals(false,$appVersion->isValidVersion($version));
}
public function testInvalidFormat3()
{
$version = '1.2.33';
$appVersion = new ApplicationVersionFormat();
$this->assertEquals(false,$appVersion->isValidVersion($version));
}
public function testInvalidFormat4()
{
$version = '11.22.33';
$appVersion = new ApplicationVersionFormat();
$this->assertEquals(false,$appVersion->isValidVersion($version));
}
}
所以我尝试了这个以下命令,但这一切都不起作用:
phpunit "repositories\AppVersionTest"
。 =&GT; 无法打开文件“test / repositories / AppVersionTest.php” phpunit "test\repositories\AppVersionTest"
。 =&GT; 无法打开文件“test / repositories / AppVersionTest.php” phpunit --filter "repositories\AppVersionTest"
。 =&GT; 没有执行任何测试! phpunit --testsuite "repositories\AppVersionTest"
。 =&GT; 没有执行任何测试! 任何帮助?感谢
答案 0 :(得分:11)
通过多种方式在laravel中运行phpunit测试..
vendor/bin/phpunit --filter methodName className pathTofile.php
vendor/bin/phpunit --filter 'namespace\\directoryName\\className::methodName'
用于测试单个班级:
vendor/bin/phpunit --filter tests/Feature/UserTest.php
vendor/bin/phpunit --filter 'Tests\\Feature\\UserTest'
vendor/bin/phpunit --filter 'UserTest'
用于测试单个方法:
vendor/bin/phpunit --filter testExample
vendor/bin/phpunit --filter 'Tests\\Feature\\UserTest::testExample'
vendor/bin/phpunit --filter testExample UserTest tests/Feature/UserTest.php
用于命名空间中所有类的运行测试:
vendor/bin/phpunit --filter 'Tests\\Feature'
更多方式运行测试see more
答案 1 :(得分:9)
要使用artisan run做同样的事情:
php artisan test --filter ApplicationVersionFormatTest
答案 2 :(得分:3)
您可以使用this answer管理相关问题。
只需使用--group <group_name>
注释标记该类,然后使用--filter
运行PHPUnit
<强>更新强>
phpunit --filter AppVersionTest "repositories\ApplicationVersionFormat.php"
的命令不完整。试试这个:TextView
答案 3 :(得分:1)
phpunit --filter <relative_path_to_file>
例如,要测试的文件是test/repos/EloquentPushTest.php
,test/repos/EloquentWebTest.php
用于测试EloquentWebTest.php
使用phpunit --filter ./repos/ElqouentWebpush
答案 4 :(得分:0)
使用示例:
php phpunit-5.7.27.phar -c app/ "src/package/TestBundle/Tests/Controller/ExampleControllerTest.php"
答案 5 :(得分:0)
使用 phpunit.xml
@group
选项可用于类和方法。
A级
/**
* @group active
* */
class ArrayShiftRightTest extends TestCase
{
}
B级
/**
* @group inactive
* */
class BinaryGapTest extends TestCase
{
}
在phpunit.xml
<groups>
<include>
<group>active</group>
</include>
<exclude>
<group>inactive</group>
</exclude>
</groups>
将执行属于活动组的类。