タグ

2018年7月23日のブックマーク (15件)

  • 使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita

    はじめに RSpecは難しい、よくわからない、といったコメントをときどき見かけます。 確かにちょっと独特な構文を持っていますし、機能も結構多いので「難しそう」と感じてしまう気持ちもわかります。 (構文については僕も最初見たときに「うげっ、なんか気持ちわるっ」と思った記憶がありますw) しかし、RSpecに限らずどんなフレームワークでも同じですが、慣れてしまえばスラスラ書けますし、実際僕自身は「RSpecって便利だな-」と思いながらテストコードを書いています。 そこでこの記事では、僕が考える「最低限ここだけを押さえていれば大丈夫!!」なRSpecの構文や、僕が普段よく使う便利な機能をまとめてみます。 具体的には以下のような構文や機能です。 describe / it / expect の役割 ネストした describe context の使い方 before の使い方 let / let!

    使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita
    fuyu77
    fuyu77 2018/07/23
  • RSpec3でTime.nowをスタブ化(stub)

    RSpec 3 では allow を使って stub 化する 以下のように RSpec テストコードでは、before の中で allow を使ってスタブを作成します。実装側で Time.now が月末日かどうかで判定するコードが書いてあり、それをテストする場合の例です。Time.now が当月の月末日時を返すようにスタブを作りました。 describe "some test" do before do # Stub for Time.now. Time.now should return end of month. end_of_month = Time.now.end_of_month allow(Time).to receive_message_chain(:now).and_return(end_of_month) end # some test code using Time.n

    RSpec3でTime.nowをスタブ化(stub)
    fuyu77
    fuyu77 2018/07/23
  • RSpecのshouldはもう古い!新しい記法expectを使おう!

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    RSpecのshouldはもう古い!新しい記法expectを使おう!
    fuyu77
    fuyu77 2018/07/23
  • 使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第2回です。 今回はRSpecのマッチャについて説明していきます。 第1回と同様、今回も「最低限これだけは」という内容に絞り込んで説明します。 使用頻度の少ないマイナーなマッチャ(注:僕基準)については説明しません。 具体的な項目は以下の通りです。 マッチャとは何か to / not_to / to_not eq be be_xxx be_truthy / be_falsey change + from / to / by 配列 + include raise_error be_within + of これからRSpecを始める人はもちろん、何度かRSpecに触れて「うーん、RSpecってわけわからん」となっている人もこの記事で再入門してみると

    使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」 - Qiita
    fuyu77
    fuyu77 2018/07/23
  • RSpecの(describe/context/example/it)の使い分け - Qiita

    概要 なかなか使い分けする基準が理解できなかったけど、 こういうことかという考えが出てきたのでメモ。 使い分け方 テストの流れを端的に言うと、 機能、クラス、メソッドなどのテストの対象に対して、 特定の条件で実行してみて、 期待するアウトプットが返ってくるかを調べる、 ということになる。 ここで出てきたテストの対象と特定の条件とアウトプットに注目して、 (describe/context/example/it)の使い分けを行う。 describeには、テストの対象が何かを記述する。 contextには、特定の条件が何かを記述する。 exampleとitには、アウトプットが何かを記述する。日語で記述するときはexampleを使う。it "is 〜やit { should be 〜 }のような形で書きたい場合はitを使う。 describe 'テストの対象' do context '特定の条

    RSpecの(describe/context/example/it)の使い分け - Qiita
    fuyu77
    fuyu77 2018/07/23
  • Everyday Rails - RSpecによるRailsテスト入門

    みなさんはこんなふうにRailsアプリケーションを作ったことはありませんか?たとえば、ブラウザをポチポチとクリックするだけでテストを終わらせて「たぶん大丈夫」と思い込んだり、「とにかく全部うまくいきますように」とただ祈るだけだったり……。 心配しないでください。それは誰もが通る道です。アプリケーションのテストやテスト駆動開発はRails開発における重要なトピックですが、巷の参考書を見ると適当な説明で済ませているものも多かったりします。書「Everyday Rails - RSpecによるRailsテスト入門」では、どのようにして私がそうしたテクニックを身につけたのか、そして、どのようにしてコードの信頼性を上げ、ブラウザ上で延々とテストしなくて済むようにしたきたのかをみなさんに説明します。 対応バージョンについて2024年1月のアップデートで、書のコンテンツをRails 7.1とRSpe

    Everyday Rails - RSpecによるRailsテスト入門
    fuyu77
    fuyu77 2018/07/23
  • Railsのdb/schema.rbの役割 - Qiita

    db/schema.rbは何に使われるのか rake db:migrateなどをすると現在のスキーマが反映され、スキーマの確認などに便利なschema.rb。 ふと、1つのRailsアプリを分割して、複数のRailsアプリから同じDBを参照するようにしたくなったのだが、その際にどちらのRailsアプリにもdb/schema.rbを含める必要があるのか気になった。 db/schema.rbを削除してもアプリは動くのだが、 schema.rbには「It's strongly recommended that you check this file into your version control system.」と書いてあるので、当に削除していいのか自信がない。 そこで、Rails4.1.5のソースを読んで、schema.rbがどんな用途に使われているのかを調査した。 schema.rbが

    Railsのdb/schema.rbの役割 - Qiita
    fuyu77
    fuyu77 2018/07/23
  • wikihub.io

    This domain may be for sale!

    wikihub.io
    fuyu77
    fuyu77 2018/07/23
    普通の退職エントリだと思って読んだら何だかすごい文章だった…。
  • [RSpec] allow、receive、and_return メソッドを使って特定のメソッドをスタブ化する - Qiita

    require_relative "japan.rb" describe "Japan.get_capital" do it "returns Saitama" do japan = Japan.new allow(japan).to receive(:get_capital).and_return("Saitama") expect(japan.get_capital).to eq("Saitama") end end allow メソッドの引数にスタブ化したいメソッドを持つインスタンスを、receive メソッドの引数にスタブ化したいメソッド名のシンボルを、and_return メソッドにスタブ化されたメソッドに返してほしい返り値を渡します。 get_capital メソッドは、来は Tokyo を返しますが、前述のスタブ化によって Saitama を返すようになりました。

    [RSpec] allow、receive、and_return メソッドを使って特定のメソッドをスタブ化する - Qiita
  • Linuxの権限確認と変更(chmod)(超初心者向け) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Linuxの権限確認と変更(chmod)(超初心者向け) - Qiita
    fuyu77
    fuyu77 2018/07/23
  • 「ls -l」コマンドの表示からファイルの属性を理解しよう

    「ls -l」コマンドの表示からファイルの属性を理解しよう:“応用力”をつけるためのLinux再入門(9)(1/4 ページ) 今まで漠然と見ていた(かもしれない)「ls -l」コマンドには、実にたくさんの情報が詰め込まれています。1つ1つの意味を理解することで、Linuxではファイルがどのように管理されているかが見えてきます。

    「ls -l」コマンドの表示からファイルの属性を理解しよう
    fuyu77
    fuyu77 2018/07/23
  • AppleScript で iTerm2 Version 3 を操作する | DevelopersIO

    ターミナル起動時にいろいろやる iTerm はターミナルのエミュレータツールです。 様々な機能 が存在するため、ターミナルの代わりに利用している人も多いのではないでしょうか。 私は毎朝ターミナルを起動した後に以下の行動を取ります。 複数のタブを開く 全てのタブにおいて特定の(Git 管理下の)ディレクトリに移動する 全てのタブにおいて git pull を実行する 今回はこの作業を AppleScript で自動化します。 ※ iTerm2 Version 3 は現在 Beta 版であり、かつ以前のバージョンとは AppleScript の書き方に互換性がありません。Version 2 以前では以下のコードは動かないのでご注意ください。 サンプルコード set directories to {"directory-a", "directory-b", "directory-c"} set

    AppleScript で iTerm2 Version 3 を操作する | DevelopersIO
  • 「熱中症は生卵がゆで卵になるような状態」というのは間違いである、というタンパク質ガチ勢の解説

    ポン酢 @fps_pon_34 熱中症の死因がタンパク質の変性だというツイートがまことしやかに伸びているので異論を唱えようと思う。(ちょっとさすがにタンパク質屋の端くれとして誤解されるのは許せなかったのでその是正ということで…) ポン酢 @fps_pon_34 1) 熱中症の死因に多い敗血症や多臓器不全は体内の組織が細胞レベルで破壊されることで起こる。この原因は免疫系の暴走だと考えられており、免疫抑制の薬を投薬すると熱中症による神経破壊が抑制される(Liu et al., J Physiol. 2000)ことも傍証となっている。 ポン酢 @fps_pon_34 2)タンパク質は熱をかけると変性する。特に神経信号を伝達する「チャネル」と呼ばれるタンパク質は熱に弱いことが多い(私の実験的経験則)。しかし、それではタンパク質の代謝の面から説明がつかないのと、多臓器不全などの症状の説明はできない。

    「熱中症は生卵がゆで卵になるような状態」というのは間違いである、というタンパク質ガチ勢の解説
    fuyu77
    fuyu77 2018/07/23
  • 「勝てばドイツ人? 負ければ移民だから?」エジルが怒りの告発、そして代表引退を表明(SOCCER DIGEST Web) - Yahoo!ニュース

    ドイツ代表のMFメスト・エジルが、ついに重い口を開いた。アーセナルのシンガポール遠征を前に、自身のSNSで3部構成の一大声明を発表したのだ。 まず最初に題したのは「3の1:エルドアン大統領とのミーティングについて」。今年5月に物議を醸した事件について、その見解を明らかにしたのである。 ワールドカップ開幕前の5月15日だった。エジルは同じドイツ代表のMFイルカイ・ギュンドアン(マンチェスター・シティ)、トルコ代表FWセンク・トスン(エバートン)とともに、ロンドンを訪問していたトルコのレジェップ・タイイップ・エルドアン大統領とイベント会場で面会。3人はいずれもトルコ系移民のドイツ育ちである。 それぞれの所属クラブのユニホームをプレゼントするなど、会談は和気あいあいとしたムードで進み、最後に何点かの記念撮影を行なった。これがのちに大きな火種となるのだ。エルドアン大統領が所属する公正発展党(AKP

    「勝てばドイツ人? 負ければ移民だから?」エジルが怒りの告発、そして代表引退を表明(SOCCER DIGEST Web) - Yahoo!ニュース
    fuyu77
    fuyu77 2018/07/23
  • 普通のHTMLの書き方

    保守しやすく、規模に依存しないHTML文書のために 一般 DOCTYPEで始める 置き換えられるべきまたは旧式のDOCTYPEを使わない XML宣言を使用しない 文字参照はできる限り使わない &と<、>、"、'は名前文字参照を使ってエスケープする 制御文字や不可視文字は数値文字参照を使う コメントではその内容の前後へ空白文字を置く 終了タグを省略しない 空要素の書き方を混ぜない タグや属性値の前後へ空白文字を置かない 大文字・小文字を混ぜない 引用符を混ぜない 属性を2文字以上の空白文字で区切らない 真偽値を取る属性の値は省略する 名前空間は省略する XML属性は使わない data-*とMicrodata、RDFa Lite用の属性と通常の属性を混ぜない デフォルトの暗黙のARIAセマンティックスを尊重する 文書要素 lang属性を追加する lang属性の値はできる限り短くする できる限り

    fuyu77
    fuyu77 2018/07/23