Việc tạo một cấu hình XML nguyên khối để xác định chương trình kiểm thử không phải lúc nào cũng thiết thực. Nếu muốn sử dụng lại một phần của thông tin thiết lập để chạy các phép kiểm thử tương tự, bạn sẽ buộc phải sao chép và duy trì hai tệp XML khổng lồ.
Đây là nơi các thẻ template
và include
trong Cấu hình XML được trao đổi
định nghĩa sẽ giúp ích cho bạn. Chúng cho phép bạn đặt phần giữ chỗ trong một số XML
để thêm một phần của cấu hình XML khác.
Định nghĩa mẫu cho mẫu
<configuration description="Common base configuration for local runs with minimum overhead">
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<template-include name="preparers" default="empty" />
<template-include name="test" default="empty" />
<template-include name="reporters" default="empty" />
</configuration>
Mẫu là phần giữ chỗ có name
để tham chiếu đến chúng và một phần không bắt buộc
Trường default
. Trường mặc định xác định XML thay thế mặc định
nên sử dụng.
Để thay thế một mẫu cho một cấu hình đã cho, lệnh sau tham số cần được thêm vào dòng lệnh:
--template:map <name of template>=<replacement XML config path>
--template:map preparers=empty
Ví dụ:
<template-include name="preparers" default="empty" />
Tham chiếu empty
trong trường hợp này đề cập đến cấu hình empty.xml
không chứa giá trị nào; chúng tôi dùng đoạn mã đó làm tham chiếu để thay thế bằng không có gì.
Đường dẫn của các cấu hình XML có thể là đường dẫn tuyệt đối hoặc tương đối đến thư mục res/config
bên trong các tài nguyên JAR của Tradefeed. Sau đây là một số vị trí của họ:
- tools/tradefederation/core/res/config: công cụ/thương mại
- tools/tradefederation/core/tests/res/config: công cụ/thương mại/lõi/kiểm thử/res/config
- công cụ/tradedeferation/contrib/res/config
Ví dụ về định nghĩa của "bao gồm"
<configuration description="Common base configuration for local runs with minimum overhead">
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<include name="empty"/>
</configuration>
Bao gồm đơn giản hơn Mẫu vì không yêu cầu đối số dòng lệnh;
chúng sẽ trực tiếp mở rộng XML được tham chiếu trong thẻ name
. Tương tự như mẫu,
đường dẫn đến cấu hình có thể là tuyệt đối hoặc tương đối. Tuy nhiên, đối với includes
, chúng tôi
bạn chỉ nên sử dụng các đường dẫn tương đối vì chúng có thể linh hoạt hơn trong Tradefeed.
Đường dẫn tuyệt đối sẽ không hợp lệ nếu Tradefeed được chuyển sang một máy khác.
Cấu hình sai
Trong trường hợp cấu hình sai, chẳng hạn như khi không tìm thấy tệp XML thay thế,
Thương mại sẽ gửi ra ConfigurationException
kèm theo nội dung mô tả về kết quả
bị thiếu hoặc định cấu hình sai.