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