TDD with Ruby on Rails
4 mins read
Share
/assets/application-04c3ae28f07e1bf734223bf526d0cdd296440ef53bcb3f80b9f093c6bf02f747.css"" />n </head>nn <body>n <h1>Cats#index</h1>n<p>Find me in app/views/cats/index.html.erb</p>nn </body>n</html>n".
rails test test/controllers/cats_controller_test.rb:9
Finished in 0.284871s, 7.0207 runs/s, 10.5311 assertions/s.
2 runs, 3 assertions, 1 failures, 0 errors, 0 skips
9. แล้วก็เขียนโค้ด
# app/controllers/cats_controller.rb
class CatsController < ApplicationController def index @cats = Cat.all end
end
# app/views/cats/index.html.erb<% @cats.each do |cat| %> <%= cat.name %><% end %>
10. แล้วก็ run test
rails test
Running via Spring preloader in process 93423
Run options: --seed 52351# Running:..
Finished in 0.193870s, 10.3162 runs/s, 25.7905 assertions/s.
2 runs, 5 assertions, 0 failures, 0 errors, 0 skips
และแล้ว Test ทั้งหมดก็ผ่าน และสังเกตได้ว่า ตั้งแต่ข้อ 5 - 10 คือการทำ TDD (RED -> GREEN -> REFACTOR) เนื่องจาก Code ชุดนี้ค่อนข้างเล็กและเข้าใจง่ายทำให้ไม่ต้อง Refactor Code
จบไปแล้วกับการทำ TDD ซึ่งการที่เราทำ TDD จะทำให้เราเขียน develop งานได้ตรงตาม requirement ของลูกค้าเนื่องจากเราเขียน Test อิงตาม use case ต่างๆ จาก requirement และการทำ TDD จะทำให้มี Code Coverage เพิ่มขึ้นอีกด้วย แต่ในทางกลับกันถ้าเราเข้าใจ requirement หรือ used case ผิดแล้วมาเขียน Test ก็ให้ code ที่เราเขียนผิดได้เช่นกัน
Written by

Senna Labs

Keep me postedto follow product news, latest in technology, solutions, and updates
More than 120,000 people/day visit to read our blogs
Beyond the Labs
Explore all
3 July, 2025
JS class syntaxเชื่อว่าหลายๆคนที่เขียน javascript กันมา คงต้องเคยสงสัยกันบ้าง ว่า class ที่อยู่ใน js เนี่ย มันคืออะไร แล้วมันมีหน้าที่ต่างกับการประกาศ function อย่างไร?เรามารู้จักกับ class ให้มากขึ้นกันดีกว่า class เปรียบเสมือนกับ blueprint หรือแบบพิมพ์เขียว ที่สามารถนำไปสร้างเป็นสิ่งของ( object ) ตาม blueprint หรือแบบพิมพ์เขียว( class ) นั้นๆได้ โดยภายใน class
3 July, 2025
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5Gผู้ให้บริการเครือข่ายในสหรัฐฯ ได้เปิดตัว 5G ในหลายรูปแบบ และเช่นเดียวกับผู้ให้บริการเครือข่ายในยุโรปหลายราย แต่… 5G มันคืออะไร และทำไมเราต้องให้ความสนใจบทความนี้ได้รวบรวม 15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G เพราะเราปฏิเสธไม่ได้เลยว่ามันกำลังจะถูกใช้งานอย่างกว้างขวางขึ้น1. 5G หรือ Fifth-Generation คือยุคใหม่ของเทคโนโลยีเครือข่ายไร้สายที่จะมาแทนที่ระบบ 4G ที่เราใช้อยู่ในปัจจุบัน ซึ่งมันไม่ได้ถูกจำกัดแค่มือถือเท่านั้น แต่รวมถึงอุปกรณ์ทุกชนิดที่เชื่อมต่ออินเตอร์เน็ตได้2. 5G คือการพัฒนา 3 ส่วนที่สำคัญที่จะนำมาสู่การเชื่อมต่ออุปกรณ์ไร้สายต่างๆขยายช่องสัญญาณขนาดใหญ่ขึ้นเพื่อเพิ่มความเร็วในการเชื่อมต่อการตอบสนองที่รวดเร็วขึ้นในระยะเวลาที่น้อยลงความสามารถในการเชื่อมต่ออุปกรณ์มากกว่า 1 ในเวลาเดียวกัน3. สัญญาณ 5G นั้นแตกต่างจากระบบ
3 July, 2025
จัดการ Array ด้วย Javascript (Clone Deep)ในปัจจุบันนี้ ปฏิเสธไม่ได้เลยว่าภาษาที่ถูกใช้ในการเขียนเว็บต่าง ๆ นั้น คงหนีไม่พ้นภาษา Javascript ซึ่งเป็นภาษาที่ถูกนำไปพัฒนาเป็น framework หรือ library ต่าง ๆ มากมายผู้พัฒนาหลายคนก็มีรูปแบบการเขียนภาษา Javascript ที่แตกต่างกัน เราเลยมีแนวทางการเขียนที่หลากหลาย มาแบ่งปันเพื่อน ๆ เกี่ยวกับการจัดการ Array ด้วยภาษา Javascript กัน เรามาดูตัวอย่างกันเลยดีกว่าโดยปกติแล้วการ copy ค่าจาก value type ธรรมดา สามารถเขียนได้ดังนี้
Let’s build digital products that are simply awesome !
We will get back to you within 24 hours!Say hello
- Senna Labsmake it happy



