Tôi có một số tệp có mã kiểm tra mã (sử dụng một lớp "không phân biệt").Làm cách nào để tổ chức kiểm tra tính toàn vẹn dữ liệu trực tiếp và kiểm tra đơn vị mã?
Sau đó tôi thấy nó sẽ là tốt đẹp để kiểm tra tính toàn vẹn cơ sở dữ liệu cũng. Tôi đặt nó vào một cây thư mục riêng biệt. (Những thứ như các phím có định dạng chính xác, nút cha và con đang trỏ chính xác và như vậy. Chỉnh sửa: đây là một dự án nosql, nơi tôi không thể dựa vào kiểm tra mức cơ sở dữ liệu liek toàn vẹn tham chiếu và như vậy.)
Tôi sử dụng cùng một lớp học không nhất quán cho các bài kiểm tra tính toàn vẹn.
Bây giờ tôi tự hỏi nếu nó thực sự có ý nghĩa để giữ riêng biệt này. Để kiểm tra tính toàn vẹn của dữ liệu, tôi thường sao chép các phần mã mà tôi sử dụng để kiểm tra mã xử lý dữ liệu.
Nhưng nó không giống nhau. Các bài kiểm tra mã sử dụng cơ sở dữ liệu thử nghiệm (được xóa sau mỗi lần kiểm tra) và kiểm tra tính toàn vẹn kết nối với dữ liệu trực tiếp và phân tích nó. Kiểm tra tính toàn vẹn tôi muốn gọi từ cron và gửi báo thức nếu có điều gì đó xảy ra trong cơ sở dữ liệu trực tiếp.
Bạn xử lý như thế nào? Có các tiêu chuẩn cho việc thiết lập như vậy không? Kinh nghiệm của bạn là gì?
Xu hướng của tôi là đặt mọi thứ vào cùng một tệp, điều này sẽ dẫn đến việc kiểm tra mã cũng được thực hiện bởi cron trên môi trường sản xuất.
Chỉnh sửa: Điều gì cũng thúc đẩy tôi là cố gắng giữ cho dự án đơn giản và không có quá nhiều tệp được chạm vào bởi một tác vụ hoặc luồng công việc. Nếu không có tất cả các thử nghiệm tôi đã có một tập tin lớp học, một phân lớp, một lớp học liên quan, một số thư viện (helper) tập tin và mã chính. Thử nghiệm thêm một tệp. Nó giúp tôi giữ sự chú ý của mình tập trung trong khi mã hóa, nó ít căng thẳng hơn và tôi tin rằng tôi thực hiện ít lỗi hơn, và tôi có thể nhớ nhanh hơn và tìm một phần mã nhất định với ít tệp bị ảnh hưởng hơn. Chỉ một tệp thử nghiệm trên mỗi luồng công việc mới có thể trợ giúp ở đây. Nếu tôi giữ nó riêng biệt có 2 tập tin (kiểm tra tính toàn vẹn dữ liệu và kiểm tra mã) và có thể 3 (một thư viện chung cho cả hai). Trừu tượng sẽ thêm phức tạp.
Chỉnh sửa2: Bây giờ tôi đang tái cấu trúc một chút và chỉ di chuyển các tệp kiểm tra dữ liệu đến cùng một cây thư mục, nơi cũng kiểm tra mã, nhưng vẫn giữ các tệp khác nhau với tên "toàn vẹn" hoặc "thử nghiệm". Tôi sẽ không (chưa) hợp nhất các tập tin, bởi vì 2 người được đề nghị chống lại nó, và tôi tin vào kinh nghiệm và lời khuyên của họ cho đến bây giờ. Tôi sẽ sống với bản sao mã cho thời điểm này.
Edit3: Tôi quên đề cập đến việc lựa chọn các thử nghiệm trên mỗi lần chạy không được xác định bởi cấu trúc cây trong trường hợp này. Các bài kiểm tra được liệt kê trong một tệp chính, vì vậy tôi có 2 tệp chính "toàn vẹn" và "kiểm tra mã" hiện tại và thử nghiệm có thể sống trong cùng một cấu trúc directury.
Có thể nhiều người sẽ trả lời. Cảm ơn bạn cho đến nay cho các đầu vào có giá trị, mà đã giúp tôi phát triển cấu trúc cuối cùng!
Chỉnh sửa4: Tôi đã thực hiện tái cấu trúc lại nhiều hơn bây giờ. Có vẻ như tôi nên giữ 2 tệp, nhưng với mục đích được sửa đổi đôi chút. Một mục tiêu được giám sát theo lịch trình trên máy chủ sản xuất. Và một cái khác để phát triển. Nhưng trong cả hai tập tin có thể được kiểm tra tính toàn vẹn hoặc kiểm tra mã. Và trong cả hai tác vụ tệp có thể được thực hiện trên cơ sở dữ liệu thử nghiệm (được xóa sau khi thử nghiệm) và trên cơ sở dữ liệu cố định (mỗi cơ sở dữ liệu vĩnh viễn, máy chủ sản xuất và máy chủ develpment). Và một điều quan trọng: tôi thấy mình đang di chuyển rất nhiều mã phổ biến từ các tệp thử nghiệm đến các tệp lớp. Vì vậy, các lớp học cũng có được khả năng chỉ để thử nghiệm.Tôi thích điều này cho đến nay, cảm thấy sạch sẽ. Tôi chưa (chưa) tạo một thư viện để thử nghiệm được chia sẻ giữa 2 phần đầu thử nghiệm, mã này đã chuyển đến tệp lớp của obejct đang bị xóa bây giờ.
Xin lưu ý rằng nhận xét của tôi dưới đây được ký với "user89021" nhưng đó là tôi, karlthorwald. Tôi không thể làm bất cứ điều gì về nó.
Cảm ơn bạn. Tôi không chỉ định vì tôi muốn tránh câu hỏi của mình được gắn thẻ bằng các ngôn ngữ. Thư viện, đối tượng, thừa kế, mọi thứ có thể ở đây. – user89021
Thật không dễ để chấp nhận câu trả lời vì cả hai đều rất tốt và đã giúp tôi. Cảm ơn nhiều. – user89021