--instrumentation_filter
nhằm mục đích thu thập dữ liệu về mức độ sử dụng mã. Khi bật tính năng thu thập dữ liệu về mức độ sử dụng, tệp kê khai chứa đường dẫn kết hợp trong instrumented_files
và metadata_files
sẽ được chuyể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 đến hành động thử nghiệm dưới dạng dữ liệu đầu vào. Khi InstrumentedFilesInfo
được hàm triển khai của một aspect trả về, 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 File
đối tượng đạ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 đối tượng File
biểu thị tệp siêu dữ liệu về mức độ phù hợp cho mục tiêu này và các phần phụ thuộc của mục tiêu này. Các tệp này chứa thông tin bổ sung cần thiết để tạo đầu ra mức độ phù hợp của định dạng LCOV sau khi thực thi mã, ví dụ: các tệp .gcno
được tạo khi gcc
chạy bằng -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 yêu cầu sắp xoá. Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hiệu quả nếu tất cả các phần tử cấu trúc (theo đệ quy) 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á chuỗi và giá trị thuộc các kiểu này. Các dấu ngoặc kép và các dòng mới trong chuỗi là ký tự 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). Tệp này phù hợp với các giá trị không phải cấu trúc và không gây ô nhiễm không gian tên của 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 yêu cầu sắp xoá. Tạo một 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 (theo đệ quy) là chuỗi, int, boolean, các cấu trúc khác, lệnh chính tả hoặc danh sách thuộc các loại này. Các dấu ngoặc kép và các dòng mới trong chuỗi là ký tự thoát. Khoá cấu trúc được lặp lại theo thứ tự được 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: thay vào đó hãy sử dụng proto.encode_text(x).