我正在使用Lumen进行api构建,还想为此编写单元测试用例。但是我面临的问题不是一个有效的断言方法。像assertStatus()
,assertNotFound()
,assertJson()
等一样,它们都以对未定义方法ExampleTest :: assertMethod()的调用给出错误。下面是我的ExampleTest文件。
<?php
use Laravel\Lumen\Testing\DatabaseMigrations;
use Laravel\Lumen\Testing\DatabaseTransactions;
class ExampleTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testExample()
{
$this->get('/');
$this->assertEquals(
$this->app->version(), $this->response->getContent()
);
}
/** @test */
public function testExample2()
{
$response = $this->get('/');
//getting error here
$response->assertStatus(200);
}
}
我第一次在流明扭扭测试用例。请指导我完成此过程。
答案 0 :(得分:3)
如果使用流明的Laravel\Lumen\Testing\TestCase
和Laravel的默认Illuminate\Foundation\Testing\TestCase
,则断言的某些方式会有所不同。
如果要为Illuminate\Foundation\Testing\TestCase
声明assertStatus:
public function testHomePage()
{
$response = $this->get('/');
$response->assertStatus(200);
}
与Laravel\Lumen\Testing\TestCase
相同:
public function testHomePage()
{
$response = $this->get('/');
$this->assertEquals(200, $this->response->status());
}
答案 1 :(得分:0)
如果您想要更像Laravel的测试服,则可以使用以下软件包: https://packagist.org/packages/albertcht/lumen-testing
然后您可以使用Laravel之类的断言