2024-09-20

暇な時は仕様だけ先に考えてみる

Overview

ウェブアプリの仕様だけ先に考えてテストコードにドラフトとして残しておく。

Context/Motivation

  • 暇な時間が20分だけできちゃったなあ。
  • ゴリゴリコードを書くだけの時間はないけど、ちょっとでも開発進めておきたいな。

そんな時に、テストコードとしてpending状態で仕様を追加するといいかも?
と思ったので実践してみました。

すると、いい感じに気持ちよくテストがすらすらかけたので、共有しちゃいますー。

普段って、実装があって、テストがあって、一緒に書くことが多いかなって思います。

でも、「テスト設計を書くだけの時間」を分けて取るとかなり頭の中がスッキリでした。

どうしても、product codeを書くと頭の中がごちゃついちゃいますからね。

Get Started!!

pendingでタイトルだけ書いておく

describe "Delete /applies/1" do
  context "ログインしていない場合" do
    it "ログイン画面に遷移"
  end
  context "ログインしている場合" do
    context "adminである場合" do
      include_context "login setup Admin"
      it ""
    end
    context "ownerである場合" do
      it ""
    end
    context "それ以外の場合" do
      context "無効な値" do
        it ""
      end
    end
  end
end

Rspecではテストのタイトルをitで囲んで定義します。

が、xitとすることでpendingとしてテストを定義できます。(it “”とすることで同じ効果)

pending状態のテストは実行されずにスキップされます。

いわゆるドラフト状態ですので、「今後このテストは作り込んでいくよ」と明示することができます。

こうすることで、todoリストみたいな使い方ができます。

terminalで見るとこんな感じに綺麗にイエローで表示してくれるのでわかりやすい!

ファイル名と行数も書いてあるので、明日はこれを1つ1つ潰していけば良い。

ん〜いいですね。

ちなみに、成功するテストはこんな感じでグリーンです。

よくあるご質問

Artisanの活動頻度を教えてください

Artisanは基本的に1ヶ月に1回、2時間程度開催しています。そこでは、ブログのアイディアやサイトの改修を行なっています。 参加は強制ではないので、ご安心ください。そのとき暇なメンバーがフラッと参加する感じです。

エンジニアなのですが、Artisanに参加できますか?

Artisanは利益組織ではありませんので、給与はでず、有志の集団です。 趣味程度の活動です。 興味がありましたら、インスタグラムよりご相談くださいませ。 現在だと、ウェブデザイナーさんやフロントエンドのエンジニアさんにきていただけると、非常にありがたいです。

wordpressのテーマ作れますか?

ワードプレスのテーマ開発は得意なメンバーがいます。 実際にwordpressでサイト制作を請け負う際は、全てオリジナルテーマを作っております。 また、一般用にwordpressテーマ自体を販売もしております。

Artisanってデザイナー?

どちらかというと、エンジニです。 ウェブデザインやグラフィックも多少やりますが、メインはウェブ開発者ですね。

Wordpressテーマ販売中