他人のブログを読んだり、勉強会等のLTを聴いて感じることこんにちは。他人のブログを読んでいたり、勉強会や某ABCに参加してLTとか聴いていて感じたことを書きます。お前のブログはオリジナリティがあるのか?既知の内容なのに、そういった内容をブログに書いている人をよく見かけます。参考サイトのリンクを張っていればまだ許せますが、そういったものがないブログもあります。本に載っていることを書いているブログも見かけます。最近見かけたのでは、iOSでのUITableViewの使い方とか。これはひどいと思いました。お前のブログは、どこかのサイトのページの翻訳ではないか?Androidに関して、キーワードで日本語サイトをググると、Googleのドキュメントリファレンスのページをほぼ翻訳したページを見かけることがあります。ブログを書いている本人は、日本人のために翻訳してあげているんだとか言いそうですが、ブログ中に出てくるサンプルコードも、元のドキュメントリファレンスのページと同じことが多々あります。真っ先に日本語に訳して、日本で最先端を行っているとでも思っているのでしょうか。技術的にとんがりたいなら、自分で作ったサンプルアプリのコードでも載せて欲しいですね。最近見かけたブログでは、英語圏のブログのほぼ翻訳で、コード断片もコピペで、元のコードの、作者独自定義の定数を、定義もせずに(定義を引用もせずに)使用している例がありました。元の英語圏のブログでは、githubにサンプルコードがあったので、定数の定義を見ることができましたが、翻訳サイトでは、githubへのリンクは張られていませんでした。勉強会や某ABCのLTで笑いを取ることしかしない勉強会や某ABCに参加してLTを聞いていると、次のようなことがあります。アニメの画像をスライドに入れる。奇声を上げて笑いをとろうとする勉強会では見かけないですが、某ABCのLTではよく見かけます。ビジネス、技術アピールで注目を浴びるようにして下さい。某ABCのLTで、当時流行っていた某ゲームアプリを、某テストツールで動かすことをやったLTがありました。言って、技術的に面白くないです。自分のプロダクトをテストツールで動かすのならいいですが、そうでないなら、単に笑いを取るだけの内容ですね。3.0.x編モリジュン(@zyunnosuke)氏が、RailsでオリジナルRakeタスク作成からRSpecテストまでの記事において、Rakeタスクの作り方、RSpecによるテストの仕方を解説してます。その記事では、RSpecは2.x系で、テストコードで、shouldを使っています。3.0.xで、expectを使いたいので、挑戦してみました。ReportGeneratorを作成する。ReportGeneratorには、次の内容を記述。endend&#91;/ruby&#93;クラスメソッドで、ダミーな処理を記述している。reports&#91;/bash&#93;生成されたlib/tasks/repots.rakeに次の内容を記述。3.0.xではサポートされなくなりました。rspec-itsを導入すると、itsが使えるとのことです。gemと共に、Gemfileに以下を追加。installを実行。RakeタスクのRSpecの作成rspecによるテストが出来るように次のコマンドを実行します。rspec:install元記事では、spec/lib/tasks/reports_rake_spec.rbファイルは、次の内容でした。2.x向けの記述なので、次のように書き換えます。3の重要な変更を参考にしました。.rspecファイルで、–warningsの行を削除しておきます。(ArgumentError)というエラーが出ますが、spec/spec_helper.rbの冒頭に次の記述をします。Railsを参考にしました。failuresテストが通りました。2.14.6では書き換える必要があります。Rubyにおけるモック、スタブについては自分は初心者なので、試行錯誤して、書き換えてみました。最後のテストの部分は、本によると、失敗するはずなのですが、なぜか通ってしまいます。この点は理解不足なので、保留にします。コードは、GitHubにおいてあります。4向けの記事を読んでいます。installでエラーになります。うまくいくGemfileを示します。RSpecによるRailsテスト入門という電子書籍を読んで、RSpecでテストコードを書くことに取り組んでいます。Rails改訂新板のサンプルアプリにRSpecでテストコードを書きました。Memberクラスは、次のようなバリデーションがあります。gemを使って、テストデータを生成しました。endendこの場合、テストコードを書くと、英語環境ではテストは失敗しません。ところが、i18nで国際化して、日本語環境でテストすると、fakerは国際化に対応しているようで、nameが日本語になったり、emailが不正な表現になって失敗するようになります。バリデーションでは、nameは英字で始まり、英数字からならないとダメだからです。full_nameについては、日本語のデータが生成されるようにしたいです。ロケールをスイッチできるようです。そこで、次のファイルを使ってテストデータを生成するようにしました。ロケールをスイッチすると、その後は設定したロケールのままになると期待したのですが、そのようにはならないようで、各フィールドごとにロケールをスイッチしないとダメでした。このテストデータを使用すると、テストが通るようになりました。