2010-06-27 36 views
8

Tôi sắp bắt đầu xem xét phát triển với sự trợ giúp của phạm vi mã, và tôi tự hỏi làm thế nào nó thường phù hợp với phát triển thử nghiệm hướng.TDD và Mã số Bảo hiểm

Phạm vi mã có phải là suy nghĩ không? Liệu quá trình của bạn đi một cái gì đó giống như

  1. Viết một bài kiểm tra cho các chức năng được thực hiện
  2. Chạy kiểm tra, đảm bảo rằng họ không
  3. Thực hiện chức năng
  4. Chạy thử nghiệm, chắc chắn họ vượt qua
  5. Viết các thử nghiệm khác cho chức năng này cho đến khi phạm vi mã 100% (hoặc gần) thu được

Hoặc bạn có chạy bảo hiểm mã ở cuối cùng không fter nhiều phần chức năng đã được thực hiện và sau đó quay trở lại và làm việc hướng tới bảo hiểm 100%?

Tùy chọn thứ ba mà tôi có thể nghĩ là cố gắng đạt mức độ phù hợp 100% trước khi thực hiện chức năng.

Điều nào trong số này là phổ biến nhất và lợi ích là gì?

Trả lời

12

Bạn không viết kiểm tra cho đến khi đạt được mức độ bao phủ 100%. Nếu bạn đã theo dõi TDD, thì có không có mã số đã từng được viết mà không cần kiểm tra, vì vậy bạn luôn phải ở mức độ phù hợp 100%.

Thay vào đó, bạn viết các bài kiểm tra cho đến khi tất cả các bài kiểm tra vượt qua và cho đến khi tất cả các bài kiểm tra bắt buộc phải được viết. Điều này sẽ ngụ ý rằng tất cả các mã yêu cầu đã được viết, vì bạn sẽ chỉ có mã được viết nếu nó được yêu cầu bởi một bài kiểm tra.

+1

Yeah, tôi bắt đầu TDD gần đây và đã ngạc nhiên khi thấy rằng sau khi tôi đã được thực hiện bằng văn bản kiểm tra và mã cho một cặp vợ chồng của các lớp học, công cụ bảo hiểm mã chúng tôi sử dụng mức độ phù hợp 100% được báo cáo. Tôi không phải suy nghĩ về bảo hiểm, chỉ cần chắc chắn rằng tôi đã chỉ viết mã đó là cần thiết để có được một bài kiểm tra để vượt qua. Nếu tôi thấy mình vô tình viết quá nhiều mã, tôi sẽ thử bình luận ngẫu nhiên những phần của nó, và nếu không có bài kiểm tra đột nhiên bắt đầu thất bại, tôi biết tôi đã không viết đủ bài kiểm tra. – SCFrench

1

Với TDD, bạn hầu như luôn ở gần mức độ phủ sóng 100% khi phát triển mã mới vì bạn không phát triển bất kỳ mã nào mà bạn không cần phải vượt qua bài kiểm tra. Chỉ khi bạn nghĩ rằng mã đơn giản đến mức bạn không cần thử nghiệm (ví dụ như một thuộc tính tự động trong C#), bạn nên có mã không được bảo hiểm cụ thể. Bạn có thể, thông qua tái cấu trúc, đôi khi giới thiệu các khối không cần thiết hoặc thay đổi mã theo các cách không mong muốn để bạn có thể muốn sử dụng vùng phủ sóng tại thời điểm đó để đảm bảo rằng bạn không vô tình giới thiệu mã chưa được kiểm tra. Ngoài ra, tôi muốn nói rằng tôi sử dụng nó nhiều hơn như là một kiểm tra sanity và phân tích bảo hiểm định kỳ cho cùng một lý do. Nó cũng có thể rất hữu ích khi kỷ luật của bạn bị phá vỡ và bạn đã bỏ quên để làm việc theo cách thức TDD.

0

Hãy nhớ rằng bạn có thể có một thử nghiệm thực sự sử dụng mã được bao phủ bởi sự trùng hợp ngẫu nhiên. Bạn cần phải cẩn thận về điều này, đặc biệt là khi bắt đầu TDD. Oh tôi đang ở trong chức năng này và tôi biết tôi sẽ cần phải thêm chút nhỏ bạc hà bữa ăn tối mỏng này trong khi tôi đang ở đó tại sao không một bạc hà. Trước khi bạn biết nó, bạn có một loạt các mã chưa được kiểm tra.

Viết Test: thất bại Viết Code: Vượt qua Refactor: Vượt qua

Goto top

Các vấn đề liên quan