途中まで来たところで解決できない疑問が出てきましたので、ご指導頂ければ幸いです。
Jobeet6日目の
求人ページの保護(Secure the Job Page) で、
/frontend_dev.php/job/sensio-labs/paris-france/ID/web-developer-expired
というURLが登場します。
私の見た限りではこれ以前にも以後にもこのタイプのURL(末尾に -expired とつくもの)は登場しませんし、
そのようなroutingもないのですが、
9日目の
機能テストを書く(Writing Functional Tests) で
テストの一環として"expired"という文字列が含まれていないことをチェックしています。
これまでにこなしてきたことをやっていれば expired なものはリストされないためテスト自体は問題なのですが、
括弧書きにて、expired したものにしか expired はつかないと書いてあります。
これから expired なものには上記URLのように expired がつくはずなのですが、もし expired なレコードを取得した場合に
expired を URL に付け加える何かが見当たりません。
メソッドかルーティングかで付け加えられないと全く意味のないテストなので、そのような何かがあるはずなのですが、
私には分からなかったのでそもそもないのか、それとも間違っているのか教えて頂きたいです。
よろしくお願いします。
大野です。
後藤さん、すいません。私の方で昨晩、返事をしようと思っていたのですが、そのまま寝てしまいました。
後藤さんの考えと同じく、フィクスチャの方を変更する必要があるように見えますね。
つまり、"Web Developer" ではなく、"Web Developer expired"に。もしくは、テストの方も変更して、"Web
Developer Expired"に。
"Expired"だと6日目のroutingに関しては、:position_slugだとslugifyしているところで、strtolowerしているので大丈夫なのですが、テストが通らないですね。つまり、テストでは、文字列に"expired"があるかどうかで、eが大文字だと、このテストでは見つけることができない、ということになってしまいますので。
なので、"Web Developer Expired"にするのであれば、さらに9日目のテストの方で、
checkElement('.jobs td.position:contains("expired")', false)->
とあるとことろを、
checkElement('.jobs td.position:contains("Expired")', false)->
に直さないといけないように見えます。
と、ここまで書いてから思ったのですが、CSSセレクタってcase sensitiveでしたよね。
2010/8/8 shishi <shish...@gmail.com>:
> --
> -------------------
> Symfonyに関する疑問・質問、ユーザー会の活動やサイトに対するご意見、その他雑談など、お気軽にMLへ投稿してください!
>
>
> 日本Symfonyユーザー会
> http://www.symfony.gr.jp/
>
> 日本Symfonyユーザー会メーリングリスト
> http://groups.google.com/group/symfony-users-ja
>
後藤さん、大野さんを始め検証してくださった皆さんありがとうございました。
確かに原文には ~ in the fixture file ~ とあったのですが、今までの fixture を作成した結果で
position に expired が無いことは明らかであったため、何らかのメソッドやルーティングで解決する
のではないかと思いました。
fixture 側に expired を含めて
/frontend_dev.php/job/sensio-labs/paris-france/ID/web-developer
にした方が他の部分は修正しないで済みますのでそれが良さそうですね。
ドキュメントに不備があったと答えが見つかってすっきりしました。
ありがとうございました。
2010年8月9日13:00 hidenorigoto <hideno...@gmail.com>: