Như đã đề cập trong một trong những ý kiến, istanbul là thật sự tốt đẹp, rất chung chung, công cụ bảo hiểm. Nó hoạt động như một người trung gian giữa quá trình nút và các kịch bản lệnh của bạn, miễn là bạn đang thực thi một cái gì đó trong thời gian chạy nút, nó sẽ làm những gì bạn muốn. Tôi không chắc chắn làm thế nào bạn đang chạy thử nghiệm selen của bạn, nhưng tôi chạy mocha qua nó như vậy:
node ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- test/*-test.js
#or simply:
./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- test/*-test.js
Mặc dù mocha thường chạy như "lệnh" riêng của mình, nó có thể "ăn" vào istanbul và bảo hiểm được in ra theo cách đó. Vì vậy, trong trường hợp của bạn, bất kỳ lệnh nào bạn sử dụng để chạy kiểm tra lối vào trong nút/selen có thể được chạy ở istanbul. Như tôi đã nói, đây là một quá trình rất chung chung có thể được áp dụng cho bất kỳ thứ gì chạy trong node.js.
Bây giờ tôi không thực sự có kinh nghiệm với Selenium nhưng những gì tôi biết rằng nó là một chút Rube Goldberg system với nhiều quá trình kết nối (một số khả năng trên các máy khác nhau). Nếu bạn đang tìm kiếm một cái gì đó để nắm bắt cả hai phía trước kết thúc, phụ trợ, và mã kiểm tra (hoặc mã frontend chạy trong trình duyệt, phục vụ từ mã backend) trong một dòng, tôi không chắc chắn tồn tại ("frontend application viết bằng NodeJS" là những gì quan trọng tôi vào điều này).
tôi đã sẵn sàng để tăng tiền thưởng cho câu hỏi này. Làm thế nào tôi có thể làm điều đó? – footy
Bạn đã thử [Istanbul] (https://github.com/gotwarlost/istanbul) chưa? Nó sẽ cung cấp cho bạn phạm vi phủ sóng, phủ sóng chi nhánh, v.v. – GilZ
vâng tôi đã thử các bài kiểm tra đơn vị nhưng không thử nghiệm selen. làm thế nào tôi có thể làm điều đó – footy