前提・実現したいこと
CakePHP3でPHPUnitにて
コントローラー内のテストを行いたい
・view:idの情報が取得できているか
・add:追加した条件とあっているか
を調べたい。
発生している問題・エラーメッセージ
該当のソースコード
class UsersController extends AppController
{
public function view($user_id)
{
$UsersTable = TableRegistry::get('Users');
$user = $usersTable->find()
->where(['Users.id' => $user_id])
->first();
if (empty($user)) { $this->setHttpStatusCode(404); return; } $this->setHttpStatusCode(200); $this->set('user', $user); } public function add() { $name = $this->request->getData("user.name"); $nam = $this->request->getData("user.nam"); $usersTable = TableRegistry::get('Users'); $user = $usersTable->newEntity(); $user = $userTable->patchEntity( $user, [ 'name' => $name, 'nam' => $nam ] ); if (! empty($user->getErrors())) { // 保存データエラー $this->setHttpStatusCode(400); return; } $savedUser = $usersTable->save($user); if (empty($savedUser)) { // 保存失敗 $this->setHttpStatusCode(500); return; }
$this->set('user', $savedUser);
}
class UsersControllerTest extends IntegrationTestCase
{
public $fixtures = [
'app.users'
];
public function setUp() { parent::setUp(); $usersTable = TableRegistry::get('Users'); } public function testView() {
$this->get('/users/view/$user_id');
idを条件にusersからデータを取得できているか確認したい
}
public function testAdd()
{
$this->get('/users/add);
追加した条件とあっているか確認したい
}
質問は何でしょう
あなたの回答
tips
プレビュー