テストで気がつかないバグ
テスト時のURLは、
http://www.examle.com/example_test/
と
http://www.examle.com/example-abc_test/
であり、本番は、
http://www.examle.com/example/
と
http://www.examle.com/example-abc/
になるシステムにおいて、-abcが無い側が、-abcがある側のファイルを参照しなければならなくなりました。
テストで問題ないことを確認して、いざ本番にして動作を確認したら、-abcがある側のファイルが参照できませんでした。
原因
テストでは、example_testで呼び出されると、_を-abc_に置き換えて、example-abc_testにアクセスしていました。
そのため、本番では_が無いため置き換えが行われず、アクセスできなくなっていました。
対処
- URLを/で分割する。テストであればwww.examle.comとexample_test、本番であればwww.examle.comとexampleになる。
- 2個目の要素にtestがあれば、example_testの_testを消し、-abc_testにつなげる。無ければ、exampleに-abcをつなげる。
- 結果、テストは、http://www.examle.com/example-abc_test/にアクセスでき、本番は、http://www.examle.com/example-abc/ にアクセスする。
という処理に修正しました。
バグを発見した当初は、自分が考えたロジックでもなかったこともあり、なぜこれでだめなのかと悩みましたが、わかってみると納得でした。