일부 기존 코드에서 일부 단위 테스트를 수행하려고합니다. 내 컨트롤러는Laravel 5.0 세션 변수의 단위 테스트 문제
class DefaultController extends Controller
{
public function index() {
if (!Session::get('answers', [])) {
App::abort(403, 'Error.');
}
// Do rest of the stuff here
}
}
같은 것을보고 내 테스트 클래스는 잘 작동 세션없이
class DefaultController extends extends TestCase {
public function testIndex_withoutSession() {
// Arrange
/* Nothing to arrange now */
// Act
$this->action('GET', '[email protected]');
// Assert
$this->assertResponseStatus(403);
}
public function testIndex_withSession() {
// Arrange
$this->session(['answers' => array()]);
// Act
$this->action('GET', '[email protected]');
$this->assertSessionHas('answers');
// this function is giving true
// Assert
$this->assertResponseStatus(200);
$this->flushSession();
}
}
내 테스트 케이스 같이 보입니다하지만 난 세션 변수 '답'을 조롱하여 확인하고자 할 때 그것은 여전히 나에게 오류를주고있다. 누구든지 내가 뭘 잘못하고 있는지 또는 어떻게 제대로 할 수 있는지 생각함으로써 나를 도울 수 있습니까? 이 코드가 없으면 코드 검사를 더 이상 진행할 수 없습니다. 미리 감사드립니다.
답변 해 주셔서 감사합니다. 테스트는 주요 기존 코드를 만지는 것이 아니므로 테스트 기능에서 변경했습니다. 그리고 지금은 매우 잘 작동하고 있습니다. –