# Тест StratoVirt StratoVirt поддерживает два режима тестирования: модульный тест и интеграционный тест. Следует отметить, что в настоящее время интеграционный тест не полностью поддерживается на архитектуре x86_64. ## Модульный тест Модульные тесты — это функции Rust, которые проверяют, работает ли код без тестов ожидаемым образом. Мы рекомендуем выполнять выполнение модульных тестов отдельно, запускать модульный тест StratoVirt следующим образом: ```shell $ cargo test --workspace --exclude mod_test -- --nocapture --test-threads=1 ``` ## Интеграционный тест Интеграционный тест StratoVirt — это метод комплексного тестирования. Во время теста процесс StratoVirt будет запущен как сервер и будет взаимодействовать через сокет и QMP для проверки работы функций модуля StratoVirt. Перед запуском интеграционного теста нам нужно сначала скомпилировать `stratovirt` и `virtiofsd`, а затем экспортировать переменные среды `STRATOVIRT_BINARY` и `VIRTIOFSD_BINARY`. Скомпилируйте StratoVirt: ```shell $ cargo build --workspace --bins --release --target=aarch64-unknown-linux-gnu --all-features ``` Скомпилируйте virtiofsd: ```shell $ git clone https://gitlab.com/virtio-fs/virtiofsd.git $ cd virtiofsd $ cargo build --release ``` Экспортируйте переменные среды `STRATOVIRT_BINARY` и `VIRTIOFSD_BINARY`: ```shell $ export STRATOVIRT_BINARY="/path/to/stratovirt" $ export VIRTIOFSD_BINARY="/path/to/virtiofsd" ``` Запустите интеграционный тест StratoVirt следующим образом: ```shell $ cargo test --all-features -p mod_test -- --nocapture --test-threads=1