Phpunit 找不到测试,没有执行测试(Laravel)

问题描述 投票:0回答:4

我在 laravel 5.5 中使用 phpunit。

当我使用

运行测试时
vendor/bin/phpunit .

显示错误

no tests excucted.

在 phpunit.xml 文件中我设置了测试目录的后缀。

但我不知道问题出在哪里。

phpunit laravel-5.5
4个回答
0
投票

您可以分享更多您的工作细节吗?如果您是 Laravel 新手,可以关注:https://www.youtube.com/watch?v=3uYXAcit_Sg&list=PL3VM-unCzF8iPERY07XRw0JXG_c50CapR。有一步一步的指导


0
投票

我解决了问题。

解决方案在这里:

https://phpunit.readthedocs.io/en/7.1/installation.html#windows


0
投票

我写这篇文章是为了防止 Laravel 8 的人来发现类似的错误。

今天我学习了 TDD 并遵循 Youtube 上的教程。在一个阶段中,我创建了一个与教程解释的名称相似的测试函数, 。 但随后出现错误“未执行测试!”出现。

与这个问题类似。 我已经检查并确保文件名带有“测试”一词后缀。 。 我不知道出了什么问题。但经过深入研究,发现在 Laravel 8(或者也可能是之前的版本)中,测试函数名称必须以 Test 为前缀。

例如

public function check_family()
=> 不起作用

public function test_check_family()
=> 工作


0
投票

确保:

  1. 你的课程以
    Test
    结束,就像
    SomethingTest
  2. 你的方法以
    test_
    开头,比如
    test_something(): void
  3. 或者,方法必须在其 PHPDoc 中用
    @test
    进行注释,而不是第 2 点

有效示例:

<?php

namespace Tests\Unit;

use Illuminate\Foundation\Testing\DatabaseMigrations;

use Tests\TestCase;

class SomethingTest extends TestCase
{
    /**
     * @test
     */
    public function do_things(): void
    {
        $v = 1;
        $this->assertEquals(1, $v, "Test equality of 1");
    }

}

再次注意,上面的

@test
很重要。

不幸的是我没有在文档中找到这一点。但这里是:

https://laravel.com/docs/11.x/testing

感谢您使用准时的文档参考更新此答案(如果您找到的话)。我只是通过另一个工作项目的复制粘贴才发现了这一点。

© www.soinside.com 2019 - 2024. All rights reserved.