不安定な機能テスト(9日目)
symfony test:functional frontend jobActions
このテスト実行が成功したりしなかったりする。原因はテスト実行時に生成されるjobsのレコードのcreated_atがほとんど同じ日付になっていることのようだ。そこで、目的のレコードがjobs一覧で常に最初に表示されるように修正する。
test/fixtures/jobs.yml
@@ -19,7 +19,8 @@ JobeetJob: is_activated: true token: job_sensio_labs email: job@example.com - expires_at: '2010-10-10' + created_at: '<?php echo date('Y-m-d H:i:s', strtotime('+1 day')) ?>' + expires_at: '<?php echo date('Y-m-d H:i:s', strtotime('+31 day')) ?>' job_extreme_sensio: JobeetCategory: design
有効期限までの日数がおかしい(10日目)
公開したあとで、求人情報を出す側から見るページに、有効期限までの日数が表示されるが、14,000日以上になっている。エポックからの日数だ。http://trac.symfony-project.org/ticket/7887にチケットがあがっていて、解決策が書いてあったので修正した。
lib/model/doctrine/JobeetJob.class.php
@@ -72,6 +72,6 @@ class JobeetJob extends BaseJobeetJob public function getDaysBeforeExpires() { - return floor($this->getDateTimeObject('expires_at')->format('U') / 86400); + return floor(($this->getDateTimeObject('expires_at')->format('U') - time()) / 86400); } }
リダイレクトのテストでこける(11日目)
で、リダイレクトのテストをすると、
PHP sent a "warning" error at /opt/local/lib/php/symfony/test/sfTestFunctionalBase.class.php line 433 (call_user_func_array() expects parameter 1 to be a valid callback, class 'sfBrowser' does not have a method 'isRedirected')
というエラーが表示される。英語版は直っているようで、次のように修正すると動作する
test/functional/frontend/jobActionsTest.php
@@ -93,7 +93,7 @@ $browser->info('3 - Post a Job page')-> with('form')->begin()-> hasErrors(false)-> end()-> - isRedirected()-> + with('response')->isRedirected()-> followRedirect()-> with('request')->begin()->