Chứa thông tin về tệp nguồn và tệp siêu dữ liệu đo lường cho các mục tiêu quy tắc được so khớp bằng --instrumentation_filter
cho mục đích thu thập dữ liệu về mức độ sử dụng mã. Khi bạn bật tính năng thu thập dữ liệu về mức độ sử dụng, tệp kê khai chứa các đường dẫn kết hợp trong instrumented_files
và metadata_files
sẽ được truyền đến hành động kiểm thử dưới dạng dữ liệu đầu vào, với đường dẫn của tệp kê khai được ghi chú trong biến môi trường COVERAGE_MANIFEST
. Các tệp siêu dữ liệu (chứ không phải tệp nguồn) cũng được chuyển vào thao tác kiểm thử dưới dạng dữ liệu đầu vào. Khi InstrumentedFilesInfo
được trả về bởi hàm triển khai của một phương diện, mọi InstrumentedFilesInfo
từ mục tiêu quy tắc cơ sở sẽ bị bỏ qua.
Hội viên
instrumented_files
depset InstrumentedFilesInfo.instrumented_files
depset
của các đối tượng File
đại diện cho các tệp nguồn được đo lường cho mục tiêu này và các phần phụ thuộc của mục tiêu đó.
metadata_files
depset InstrumentedFilesInfo.metadata_files
depset
của các đối tượng File
đại diện cho các tệp siêu dữ liệu về mức độ sử dụng cho mục tiêu này và các phần phụ thuộc của mục tiêu đó. Các tệp này chứa thông tin bổ sung cần thiết để tạo đầu ra mức độ sử dụng định dạng LCOV sau khi mã được thực thi, ví dụ: các tệp .gcno
được tạo khi gcc
chạy với -ftest-coverage
.
to_json
string InstrumentedFilesInfo.to_json()
---incompatible_struct_has_no_methods
. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá. Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (recursion) đều là chuỗi, số nguyên, boolean, cấu trúc khác, danh sách các loại này hoặc từ điển có khoá và giá trị chuỗi của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Ví dụ:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}
Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động cho các giá trị khác ngoài cấu trúc và không làm ô nhiễm không gian tên trường cấu trúc.
to_proto
string InstrumentedFilesInfo.to_proto()
---incompatible_struct_has_no_methods
. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá. Tạo tin nhắn văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (recursion) đều là chuỗi, số nguyên, boolean, cấu trúc hoặc từ điển hoặc danh sách của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
Không dùng nữa: hãy sử dụng proto.encode_text(x).