PHPunitを最近勉強始めた者です。
composerで環境を整え、いざモデルの単体テストをするって時に、どのようなコードを書いたらいいのかわかりません。
ちなみに、以下のようなコードを書いてみて成功しました。
User.php
<?php namespace User; class User { public function getFullName($first_name, $last_name) { return $first_name . ' ' . $last_name; } }
UserTest.php
<?php use PHPUnit\Framework\TestCase; use User\User; class UserTest extends TestCase { public function testGetFullName() { $user = new User(); $this->assertSame('Michael Jackson', $user->getFullName('Michael', 'Jackson')); } }
ただ、こちらは本当に簡易的なサンプルで実践的ではありません。しかもどのサイト見ても、似たような簡易的なサンプルしかないので自分が実現したいコードをどのように書けばいいのか困っています。
public static function createCompany($companyDate) { $result = false; $sql = 'INSERT INTO companies (company_name, company_url, tel, postal_code, company_adress, email, password, role) VALUES (:company_name, :company_url, :tel, :postal_code, :company_adress, :email, :password, :role)'; $company_name = $companyDate['company_name']; $company_url = $companyDate['company_url']; $company_tel = $companyDate['company_tel']; $company_postal = $companyDate['company_postal']; $company_adress = $companyDate['company_adress']; $company_email = $companyDate['company_email']; $company_pass = password_hash($companyDate['company_pass'], PASSWORD_DEFAULT); $role = $companyDate['role']; try { $pdo = connect(); $pdo->beginTransaction(); $stmt = $pdo->prepare($sql); $stmt->bindValue(':company_name', $company_name, PDO::PARAM_STR); $stmt->bindValue(':company_url', $company_url, PDO::PARAM_STR); $stmt->bindValue(':tel', $company_tel, PDO::PARAM_INT); $stmt->bindValue(':postal_code', $company_postal, PDO::PARAM_INT); $stmt->bindValue(':company_adress', $company_adress, PDO::PARAM_STR); $stmt->bindValue(':email', $company_email, PDO::PARAM_STR); $stmt->bindValue(':password', $company_pass, PDO::PARAM_STR); $stmt->bindValue(':role', $role, PDO::PARAM_INT); $result = $stmt->execute(); $pdo->commit(); return $result; } catch(\Exception $e) { $pdo->rollBack(); return $result; } }
上記のようなテストをしたいのですが、テストコードにはどのように書いたらいいのでしょうか?
参考サイトやサンプルコードなどご教示いただければ幸いです。
ちなみに素のPHPで開発しています。
PHPのバージョンは7.4.12です。
PHPunitを導入するまでに参考にしたサイト→PHPUnitでテストコードを書いて実行するまで
PHPのPHPUnitを使ってテストコードを書く方法【初心者向け】
直路丸投げの質問になってしまい申し訳ございませんが、ご教示お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。