Kiểm thử và CI
Dùng cấu hình riêng cho kiểm thử chức năng khi công cụ kiểm thử có thể kích hoạt cơ chế phòng thủ nâng cao. Không có endpoint kiểm thử hay môi trường riêng trong bảng điều khiển.
Vì sao kiểm thử cần bản dựng riêng
Các cơ chế phòng thủ nâng cao (VM Self Defending, VM Debug Protection, VM Domain Lock, cùng các bản cơ bản tương ứng selfDefending, debugProtection và domainLock) cũng tác động lên chính agent, công cụ tự động hóa và trình gỡ lỗi của bạn. Chúng có thể dừng thực thi, ném ra các lỗi không liên quan hoặc tạo ra kết quả sai. disableConsoleOutput thay các phương thức của console bằng hàm rỗng trên phạm vi toàn cục, cho mọi script trên trang chứ không chỉ script đã làm rối, nên các assertion dựa trên log sẽ không thấy gì. Hãy chạy kiểm thử chức năng trên một bản dựng kiểm thử riêng đã tắt các tính năng này.
Cấu hình kiểm thử chức năng
Dựng cấu hình kiểm thử từ các thiết lập dùng chung của bạn và áp dụng các ghi đè sau khi đã chọn preset. Chúng tắt cả phiên bản VM lẫn phiên bản cơ bản của Self Defending, Debug Protection và Domain Lock, đồng thời tắt disableConsoleOutput (các preset Low, Medium và High bật nó). Hãy truyền giá trị tường minh; bỏ qua một tùy chọn có thể để preset bật nó lên.
CI
Chạy mã gốc trước, sau đó chạy bản dựng kiểm thử đã làm rối qua cùng các bước kiểm tra. Ghi lại đầu vào, các tùy chọn thực sự có hiệu lực, phiên bản obfuscator và cảnh báo của bản dựng để có thể tái hiện lỗi. Bảng điều khiển và phản hồi API trực tiếp báo cáo các cảnh báo và phiên bản đã được xác định; gói javascript-obfuscator báo cáo phiên bản trong thông báo tiến trình nhưng không báo cáo cảnh báo.
Sau khi các bước kiểm tra chức năng đạt, hãy tạo một bản phát hành riêng từ các thiết lập production ban đầu. Kiểm tra chính xác bản đó trong môi trường chạy dự định, trên một tên miền được phép, không có công cụ tự động hóa hay trình gỡ lỗi mà các cơ chế phòng thủ của nó được thiết kế để phát hiện. Bản dựng kiểm thử chạy đạt không có nghĩa là bản phát hành được bảo vệ đã được kiểm chứng.
Bản dựng qua bảng điều khiển, gói javascript-obfuscator (CLI hoặc Node.js) và API dùng cùng các tùy chọn bảo vệ. Kiểm thử qua API dùng thông tin xác thực và endpoint thông thường, và giới hạn sử dụng thông thường vẫn áp dụng. Trong CI, hãy giữ đầu ra kiểm thử và đầu ra phát hành ở các đường dẫn riêng và chỉ triển khai bản phát hành.
Nếu việc thực thi vẫn thất bại, xem Chẩn đoán lỗi khi chạy của VM.
