2012-09-06 34 views
5

Tôi thích ý tưởng thử nghiệm đơn vị Pex - autogenerating thông qua phân tích mã tĩnh - nhưng các bài kiểm tra thực sự được tạo ra bởi công cụ là khủng khiếp, xấu xí, chặt chẽ với các mô-đun Pex, khó đọc và hiểu v.v.Pex (và đầu ra của nó) có phù hợp với môi trường doanh nghiệp không?

một công cụ như vậy thực sự phù hợp (trong trạng thái hiện tại) để sử dụng trong môi trường doanh nghiệp, nơi mà sự nhấn mạnh phải dễ bảo trì?

Hoặc tôi đã hiểu sai mục đích sử dụng Pex?

+0

Trong Visual Studio 2012 Pex được thay thế (một phần) bởi Fakes http://msdn.microsoft.com/en-us/library/hh549175.aspx –

Trả lời

1

Thật vậy, bạn đã hiểu sai mục đích sử dụng.

Pex là công cụ kiểm tra hộp trắng. Nó tạo ra các trường hợp thử nghiệm dựa trên phân tích mã mà nó nên kiểm tra. Lý do cho việc này là phát hiện và kiểm tra các trường hợp cạnh . Vì vậy, về cơ bản, bạn thậm chí không nên thay đổi các bài kiểm tra được tạo tự động.

Kiểm tra đơn vị bình thường của bạn không thể thay thế bằng Pex. Nó chỉ là một công cụ bổ sung.

0

Pex rất hữu ích để kiểm tra các thuật toán phức tạp không dựa vào bất kỳ thứ gì bên ngoài. Ví dụ, nó sẽ không giúp bạn tìm các trường hợp cạnh trong các câu lệnh SQL hoặc truy cập tệp. Tuy nhiên, để tìm các trường hợp cạnh và tăng phạm vi mã, nó cực kỳ hữu ích ngoài các bài kiểm tra đơn vị bình thường của bạn.

1

này dường như là một câu hỏi chủ quan ...

Tôi muốn nói rằng có, kiểm tra văn bản trong một khuôn khổ/API cho thường chặt chẽ cùng với khuôn khổ đó. Ý định của Pex không phải là để tạo ra các bài kiểm tra "có thể đọc được", nó là để đảm bảo độ bao phủ mã cho một tập hợp các ràng buộc nhất định. Nếu điều đó có giá trị đối với sản phẩm của bạn, thì nó phù hợp - và chắc chắn tôi đặt cược điều đó cho một nhóm nhất định và một codebase đã cho, điều này sẽ cung cấp giá trị.

Mọi doanh nghiệp đều khác nhau, nhưng đó là sản phẩm và mã của nó quy định tính phù hợp của công cụ kiểm tra. Tôi cho rằng điều cần đặt ra là giá trị của Pex đối với một codebase đã cho, bất kể tổ chức được đề cập đến.

1

Tôi đã sử dụng pex trong một tổ chức tài chính lớn và sẽ khuyên bạn nên sử dụng nó, nhưng chỉ cho một trường hợp rất cụ thể. Tôi nghĩ rằng pex là tốt ở những gì nó làm (như mô tả ở nơi khác ở đây, kiểm tra hộp màu trắng để tìm các trường hợp cạnh), nhưng các bài kiểm tra không có tuổi thọ đáng kể khi chúng được kết hợp rất chặt chẽ.

Về cơ bản, pex rất tuyệt khi tạo vùng phủ sóng. Nếu bạn không có kiểm tra và muốn một số nhanh chóng, sử dụng Pex. NHƯNG THÌ Tôi khuyên bạn nên thay vì sử dụng lại nó, bạn thực thi các tiêu chuẩn cho mã mới để đáp ứng một số liệu bảo hiểm đã thỏa thuận với các bài kiểm tra viết tay.

Bằng cách này, các bài kiểm tra mong manh từ pex được thay thế theo thời gian với các bài kiểm tra linh hoạt hơn và có chất lượng cao hơn.

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