Xóa bài viết
Bạn có chắc chắn muốn xóa bài viết này không ?
Xóa bình luận
Bạn có chắc chắn muốn xóa bình luận này không ?
Tản mạn TDD - p1
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

{{ comment.user.name }}
Bỏ hay
Hay

Cùng một tác giả

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...

6
10
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é...

5
0
Bài viết này, là 1 quan điểm cá nhân trong việc viết Code các layer trong Rails của mình. Controller Trước khi code, bạn hãy đặt câu hỏi: Mục đí...