Laravel PHPUnit错误:调用未定义的方法Tests\Unit\ExampleTest::visit() namespace Tests\Unit; use Tests\TestCase; use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; class ExampleTest extends TestCase { /** * A basic test example. * * @return void */ public function testBasicTest() { $this->visit('/Login') ->type('KP123@gmail.com','email') ->type('123456','password') ->press('Login') ->seePageIs('/home') ->see('Katy Perry'); } }

Laravel PHPUnit错误:调用未定义的方法Tests\Unit\ExampleTest::visit() namespace Tests\Unit; use Tests\TestCase; use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; class ExampleTest extends TestCase { /** * A basic test example. * * @return void */ public function testBasicTest() { $this->visit('/Login') ->type('KP123@gmail.com','email') ->type('123456','password') ->press('Login') ->seePageIs('/home') ->see('Katy Perry'); } },laravel,phpunit,Laravel,Phpunit,这是我编写的测试用例,当我在linux上尝试使用命令vendor/bin/phpunit运行它时,会出现错误“调用未定义的方法Tests\Unit\ExampleTest::visit() namespace Tests\Unit; use Tests\TestCase; use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use I

这是我编写的测试用例,当我在linux上尝试使用命令
vendor/bin/phpunit
运行它时,会出现错误“调用未定义的方法Tests\Unit\ExampleTest::visit()
namespace Tests\Unit;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class ExampleTest extends TestCase
{
    /**
     * A basic test example.
     *
     * @return void
     */
    public function testBasicTest()
    {
        $this->visit('/Login')
             ->type('KP123@gmail.com','email')
             ->type('123456','password')
             ->press('Login')
             ->seePageIs('/home')
             ->see('Katy Perry');
    }
}
我尝试运行composer update,但仍然无法运行。以前有人遇到过这个问题吗?

这个
visit()
方法看起来像是SeleniumTestCase的一部分。所以我猜你要么从错误的基类扩展。我想应该是这样的:

class ExampleTest extends \PHPUnit_Extensions_Selenium2TestCase
{
    // your test method
}

编辑:我刚刚注意到了Laravel标记,所以它可能更像是
illumb\Foundation\Testing\TestCase
。如果出现错误,无法找到类,则必须将
phpunit.xml
中的引导文件设置为
vendor/autoload.php
或另一个适当的引导文件,该文件已在自动加载器中注册。

我可能在这个问题上迟到了,但这是我的2美分。我一直试图在我的测试用例中使用相同的方法,结果导致了惨败

<>我意识到,实际上我可以利用在基础命名空间上发现的TestRe答复类,它覆盖了响应对象周围的许多方法。

$this->get('/url/to/visit'); //Then you can make your assertions on the returned response.
在我的例子中,我打开了应用程序的身份验证,因此它总是抱怨标题视图显示当前登录用户的用户名。如果遇到这种情况,请使用Auth Facade,如下所示:

\Auth::loginUsingId(1);

您现在应该能够断言您的响应中包含一些文本。希望这有帮助。顺便说一句,我现在使用的是Laravel 5.4

如果您使用的是新版本的Laravel,您必须使用与
$this->访问
类似的方法,请参见
。在版本6左右,它被排除在Laravel之外

相反,您可以使用,但选项有限:

$this->get('/Login')

试试这个

我已经有了TestCase标签,也尝试了扩展PHPUnit_Extensions_Selenium2TestCase,但它给了我一个致命的错误。你确定你为扩展的TestCase类使用了正确的名称空间吗?如果方法签名存在,可以使用IDE。特别是对于Laravel,一些测试功能被转移到了Traits,所以你可能也必须使用其中的一个。我想我可能缺少一些包,但我不确定要下载哪一个。好的,我刚刚发现:你在使用ExampleTest吗?在这种情况下,我假设代码应该是好的,我们应该看看其他问题。是否在基本目录中安装了composer以确保具有所有依赖项?