Tản mạn TDD - p1
White

checkraiser viết ngày 27/06/2016

Mình viết series này dành cho các bạn mới học Ruby và Rails.

Mục đích của nó là ... tản mạn TDD.

Bài toán:

Viết chương trình lấy input từ $stdin, in Hello World ở dòng 1, 

và hiện input từ $stdin ở dòng thứ 2

Hình dung input và output của nó:

2 => 

Hello World
2

Viết trước chức năng của hàm sẽ viết:

class Stdin
  def self.get
     2
  end
end

describe 'my program' do
  it 'nhận input từ stdin và in kết quả' do
    output = process(Stdin)
    expect(output).to eq("Hello World\n2")
  end
end

Chạy thử cái test này với rspec, bạn sẽ thấy đỏ lòm !.

Viết thử hàm process :

def process(stdin)
    input = stdin.get
    return "Hello World\n#{input}"
end

Chạy thử cái spec, bạn sẽ thấy xanh lè !

Bài học thứ nhất: Độc lập chương trình của bạn với môi trường bên ngoài !

Hẹn gặp lại.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

checkraiser

12 bài viết.
16 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
6 1
Tôi dự sẽ viết 1 loạt series về việc thiết kế 1 ứng dụng Rails như thế nào để nó có thể giúp bạn ăn ngon ngủ yên trong hằng năm trời: Khi mà việc t...
checkraiser viết hơn 2 năm trước
6 1
White
5 9
Cũng ngót nghét đi làm hơn 6 năm rồi, mình chỉ thấy một điều khá "ngược đời": Các ông chủ , những người trả tiền cho bạn lại có tư duy lập trình ké...
checkraiser viết 5 tháng trước
5 9
White
3 1
This post is a sample chapter from my (Link) How to render a ReactJS component isomorphically ? The trick is in defaultProps and componentDidM...
checkraiser viết hơn 2 năm trước
3 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
12 bài viết.
16 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!