代码之家  ›  专栏  ›  技术社区  ›  Junior

如何在Laravel项目中为我自己的包运行php测试?

  •  0
  • Junior  · 技术社区  · 7 年前

    我的项目安装在我的项目中的以下目录中 ROOT/CompayName/package-name . 我的测试在 ROOT/CompanyName/package-name/tests 当代码位于 ROOT/CompanyName/package-name/src .

    composer.json

    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/",
            "CompayName\\ProjectName\\": "CompayName/package-name/tests/"
        }
    },
    

    另外,我在 phpunit.xml 文件

    <testsuite name="Unit">
        <directory suffix="Test.php">./tests/Unit</directory>
        <directory suffix="Test.php">./CompanyName/project-name/tests/</directory>
    </testsuite>
    

    然后我创建以下测试

    <?php
    
    namespace CompanyName\ProjectName;
    
    use Tests\TestCase;
    use Illuminate\Foundation\Testing\RefreshDatabase;
    
    class SomeKindOfTest extends TestCase
    {
        /**
         * A basic test example.
         *
         * @return void
         */
        public function ableToDoSomething()
        {       
            dd('ableToDoSomething was called!!!!!!!!!!!');
        }
    }
    

    但是,当我跑的时候 phpunit 从命令行,我的测试没有被触发!

    如何正确启动包中的测试。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Travis Britz    7 年前

    PHPUnit通常运行名为 test* ,除非您在phpunit.xml文件.

    public function testAbleToDoSomething() {}
    

    PHPUnit还支持一个特殊的 /** @test */ docblock内的注释:

    /** @test */
    public function ableToDoSomething() {}
    
    推荐文章