
こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。
このブログでは、
僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、
ノウハウなどを書いていきます。
今回は、
- RSpecで、Base64エンコードされた画像ファイルをテストする
です。
RSpecで、Base64エンコードされた画像ファイルをテストする
【結論】
1、 テストに使う画像ファイルを、Base64でエンコードしたバイナリ文字列に変換する
(下記のようなサイトを使うとラクです)
https://lab.syncer.jp/Tool/Base64-encode/
2、 1で得たバイナリ文字列から、spec/以下に画像ファイルを作る
(ファイル名は適当に spec/assets/images/test_jpg.bin みたいにする。拡張子はバイナリを表すbin)
3、 RSpec内で、
- File.read(spec/assets/images/test_jpg.bin)
のようにすれば、
1の画像ファイルを読み込みでき、
Base64エンコードされたバイナリ文字列を取得できます。
あとは好きにテストで使いましょう。
〜補足〜
app/assets/以下に画像を置いた場合、
画像のパスを直指定すると、
画像を外部から閲覧できてしまいます。
例:
というサイトと、
- assets/images/speaker.png
という画像ファイルがあるとします。
この場合に、
のようにURL指定すると、
speaker.pngを見れてしまうということです。
テストデータを外部に見せる必要はないので、
画像ファイルの配置場所には注意しましょう。
ちなみに、
今回の例で紹介したサイトは、
Qiiitaの記事を聞き流せる、
【聞い太?】
という僕の作ったwebアプリです笑
技術ネタのインプットに持ってこいなので、
ぜひ使ってみてください★
以上、
- RSpecで、Base64エンコードされた画像ファイルをテストする
でした。