当前位置: 首页 > 知识库问答 >
问题:

如何在laravel中使用phpunit测试特定的测试类

孔斌
2023-03-14

我想在我的项目中测试特定的测试类,因为有很多测试类失败,我只想一次测试一个类。

我在以下文件夹中创建了测试\test\repository\Application ationVersionFormat.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“存储库\AppVersionTest”=

有什么帮助吗?谢谢

共有3个答案

应涵容
2023-03-14

要使用artisan执行相同的操作,请运行:

php artisan test --filter ApplicationVersionFormatTest
杜阳炎
2023-03-14

通过多种方式在laravel运行phpunit测试。。

vendor/bin/phpunit --filter methodName className pathTofile.php

vendor/bin/phpunit --filter 'namespace\\directoryName\\className::methodName'

对于测试单类:

vendor/bin/phpunit tests/Feature/UserTest.php
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'

更多方式运行测试查看更多

宋飞文
2023-03-14

在尝试了几种方法后,我发现我不需要包含文件夹来测试特定的测试类。这对我来说是有效的,它在类上运行所有的测试:

phpunit——筛选应用程序版本FormatTest

我认为这是因为我的Application ationVersionFormatTest扩展了TestCase并返回作为Laravel所有组件的“粘合剂”的应用程序实例。

 类似资料:
  • 我正在尝试从我的测试套件中运行所有测试,但是当我运行命令时,PHPUnit没有找到测试。我在phpunit中配置testsuite。xml。 phpunit。xml 独自创立php WebTestCase。php TestPage.php 如果我通过文件测试运行phpunit,则为,可以。

  • 我一直试图让phpUnit在我的Wordpress主题的自定义PHP类上运行测试,但是无论我如何尝试添加类引用,错误总是相同的: 文件目录不正确。 为了说明这一点,Phpunit运行良好,因为我可以只使用Wordpress调用运行虚拟测试,而且它可以正常工作。例如: 文件结构如下所示: 我的朋友。xml位于WordPress根目录下,我指的是如下测试: 如果有人能告诉我为什么phpunit不能识别

  • 我正在使用Spock框架进行测试(1.0-groovy-2.4版本)。Junit提供了使用命令行(使用Maven)运行特定测试的选项: 问题:我怎样才能和斯波克做到这一点? 这个版本依赖于Junit 4.12,Junit文档中指出,只有Junit 4才支持此功能。x、 基本上,斯波克应该提出类似的建议。

  • 问题内容: 我奋力奔跑名为单个测试方法在文件中使用。我尝试了以下组合: 在每种情况下, 都将执行文件中的 所有 测试方法。如何只选择一种方法呢? 该类的名称为,版本为3.2.8。 问题答案: 以下命令在单个方法上运行测试: 对于新版本的phpunit,它只是:

  • 我正在努力运行一个名为的测试方法,该方法位于文件中。我尝试了以下组合: 在每种情况下,都会执行文件中的所有测试方法。如何只选择一种方法? 该类的名称为,的版本为3.2.8。