错误:调用未定义的方法 Tests\Unit\SomeTest::assertStatus()
Posted
技术标签:
【中文标题】错误:调用未定义的方法 Tests\\Unit\\SomeTest::assertStatus()【英文标题】:Error: Call to undefined method Tests\Unit\SomeTest::assertStatus()错误:调用未定义的方法 Tests\Unit\SomeTest::assertStatus() 【发布时间】:2020-03-23 05:50:34 【问题描述】:我写了测试:
$response = $this->get('/something');
$response->assertStatus(200);
显示此错误:
Error: Call to undefined method Tests\Unit\SomeTest::assertStatus()
我找到了解决问题的方法(代码如下),但我想使用第一种方法:
$response = $this->get('/something');
$this->assertEquals(200, $this->response->status());
为什么第一个代码不起作用?
【问题讨论】:
您的ExampleTest::class
是否扩展了基础TestCase::class
?
是的。看起来像这样class ExampleTest extends TestCase
好的,你使用的是 Laravel 还是基于 Laravel 的微框架 Lumen?如果是前者,你使用的是哪个版本的 Laravel?
我使用 Laravel 5.8
有多个名为TestCase的类是哪一个?
【参考方案1】:
使用以下代码:
namespace Tests\Unit;
use Tests\TestCase;
class SampleTest extends TestCase
//your code
【讨论】:
【参考方案2】:我通过将use phpUnit\Framework\TestCase
更改为use Tests\TestCase
解决了这个问题。
【讨论】:
【参考方案3】:在新的Laravel
项目中,您应该使用以下TestCase
。
use Tests\TestCase;
class ControllerTest extends TestCase
【讨论】:
以上是关于错误:调用未定义的方法 Tests\Unit\SomeTest::assertStatus()的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:未捕获的错误:调用未定义的方法 Connection::prepare() [重复]
错误:调用未定义的方法 Tests\Unit\SomeTest::assertStatus()
fullCalendar - 未捕获的类型错误:无法调用未定义的方法“拆分”
chrome.tabs.create 给出错误 - “未捕获的类型错误:无法调用未定义的方法‘create’”