BuildInfo
в TF — широко используемый объект для переноса ресурсов для настройки и запуска тестов. Все, от изображений устройств до тестовых APK, хранится или связывается в BuildInfo
. Это позволяет унифицировать способ доступа к тестовым ресурсам из теста и отделить тест от получения тестовых ресурсов.
Свойства BuildInfo
Двумя основными свойствами объектов BuildInfo
являются атрибуты и файлы:
- Атрибуты можно добавлять с помощью
#addBuildAttribute()
; они представляют метки и строковую информацию для сборок. Атрибуты можно использовать для хранения информации, связанной со сборкой. - Файлы можно добавлять с помощью
setFile()
; файл отслеживается и управляетсяBuildInfo
во время жизненного цикла вызова (например, правильно обрабатывается во время шардинга). Это позволяет избежать необходимости для теста знать что-либо о файловой системе и вместо этого может полагаться на абстрактный объектBuildInfo
для получения своих ресурсов.
BuildInfo в нескольких устройствах
Когда тестовая конфигурация настроена с несколькими устройствами, на каждое устройство существует один объект BuildInfo
. Это позволяет запрашивать и нацеливать файлы с одного устройства на другое.
BuildInfo в мультисборках
Можно требовать сборки из нескольких целей. В этих случаях для каждой цели существует один объект BuildInfo
. Это позволяет запрашивать и нацеливать файлы из любой цели.
Прото формат
BuildInfo
можно сериализовать в формате protobuf, что упрощает его использование в разных системах при необходимости.