私は長いプログラミング経験を持ち、次のプロジェクトで単体テストを使用することに決めました。私は、PHPを使用して、CodeIgniterとOracleをrdbmsとして使用してアプリケーションを作成しています。 私のすべてのモデルは基本的にデータベースと連携するメソッドしか持っていません。わかりましたので、どうすればこれらをテストするのですか?彼らはテストする価値がありますか?なぜなら、クエリが間違っているとPHPエラーが発生し、基本的にすべてのテストが成功するためです。 モデルをテストする際に、何に焦点を当てて、何を期待する必要がありますか?単体テスト101モデルを正しくテストする方法は?
例: 簡単な方法:
public function register($username, $password, $email)
{
$hash = $this->_generate_hash();
return $this->add(array(
'username' => $username,
'password' => hash('sha256', $this->config->item('salt') . $password . $hash),
'email' => $email,
'hash' => $hash
));
クエリは、このインサートは、常に動作すると私は関数にテストのparamsを追加する場合、それは常に渡しますokですが、SQLはokですので、テストに合格した場合、または私はどのようにこれをテストすべきですか? } `
私はPHPフレームワークとしてCodeIgniterを使用しており、CIのActive Recordを使用していますので、SQLインジェクションはそのコンポーネントによって処理されます。 – Mythriel
これは単にテストケースと可能性について考えさせるものでした。 –