フロントエンドエンジニアの方へ質問です。
javascriptのテストコードってどのようなものでしょうか。
これまで小規模サイトしか制作したことがなく、
ブログとか書籍とかにでてくる、
テストコードやテストツールなどの使い道がわかりません。
〇〇な機能に××なテストを行うや、
このぐらいの規模になったら必要や、
初めてテストコードを書いたときの話や、
テストコードの勉強に最適なサンプルコードなど、
具体例を教えて頂ければ嬉しいです。
現状困っているわけではないのですが、
理解しておきたいのでよろしくお願いします。
みんなの回答 10 件
テストコードは気にするな。テストコード書く時間より、動く物書く時間に費やせよ。
適当でいいや、という気持ちが大切
テストコードってのは1〜5工程を一気に試すようなものというより、1だけを試したり、3と5の組合せを試したりするものと考えた方がいい。そうすると必要なテストコードも判ってくるんじゃないかな。
トピ主には要らないものだ。そして今のトピ主にはうまく理解できない。貧乏人が「今は困ってないのですが億万長者になったときのための節税テクを教えてください」と書いてるようなもの。あほくさ。
本当にトピ主が成長したいなら、テスト自動化しないとやってられないな!と自発的に思うような規模のコードをまずは書け。
すごく分かるわ、この質問。最近の書籍見るとたいてい、どの本もassertうんちゃらって出てくるもんな。ios開発用の自動化テストの本も前に買ったけど結局、手を付けず仕舞いだしなー。
「テスト入門」の記事は入門記事じゃない。
なにからはじめればいいかわからない人はたくさんいそう。
入門用の具体例もとむ。
たとえばなんだけど、普通の静的サイトでドロップダウンとかアコーディオンだけJS使ってる、みたいなサイトでもJSのテストって必要なの?
backboneとかモデル絡んでくると必要だっていうのはわかるんだけど
みなさん回答ありがとうございます。
テストコードを学ぶ前にコードを書け!
必要になってから覚えろ!などアドバイスありがとうございます。
私はこれまでjQuery等のプラグインを作成する程度のレベルで、
主にブラウザのUIの実装を行っていたのですが、
この度AngularJSでSPAを作成することになり、
テストコードも理解を深めたく質問させて頂きました。
また、質問に共感頂いてるかたもいるようで、
やはり躓きやすいポイントなのかなーと思います。
引き続き、いろんな意見や回答をお待ちしております。
おまんちん
テストはサーバーサイドで専ら書いてるが、基本的にフロントのテストはサーバーよりもプライオリティが低い。
というのもロジックの変更よりも細かいUI変更の方が頻度が圧倒的に多くて、いくら精度の高いテストを書いてもちょっとボタンを変えるだけで、既存のテストコードをそれ以上の労力でリファクタリングしないといけないから。
実際にリリースされたばかりのアプリで、いきなりダウンロード数がドカンと伸びるものでも当面は改善優先でテストは手動のものが多い。(ネイティブの話)
なのでUI変更が落ち着かないフェーズでテストを書くとしたらロジック関連、例えばある引数を入れたら想定する結果が返ってくるか、APIに正常に接続して正しい値が返ってくるかなどが優先される。
とはいえ初期はAPIすら仕様がコロコロ変わるからこれもなかなかテスト書きづらかったりする。
費用対効果で言えば静的解析をしたり、コードの副作用を減らしたり、コーディングルールを守ったりといったほうがバグを防げると思う。
コードが肥大化してUIやAPI変更が落ち着いてくれば自然と必要性が高まるので、その段階でやればいいかと。
関連するトピックス