Equivalencia desde Kotlin
Herramientas
CercanaEn Rust, Cargo (Cargo.toml, cargo build, cargo test, cargo run) expresa la responsabilidad del fixture: Instala las dependencias declaradas, construye todos los módulos, ejecuta las pruebas y corre la aplicación de línea de comandos.
Referencia Kotlin: Gradle, mediante el wrapper ./gradlew, resuelve las dependencias declaradas, construye los subproyectos registrados en settings.gradle.kts y ejecuta tareas como build, test y :app:run.
- Mecanismo
- Cargo (
Cargo.toml,cargo build,cargo test,cargo run) - Riesgo de diseño
- Copiar la sintaxis de Kotlin en vez de usar Cargo (
Cargo.toml,cargo build,cargo test,cargo run).
- Recomendación
- Expón el contrato del fixture y usa Cargo (
Cargo.toml,cargo build,cargo test,cargo run) solo para la garantía que realmente ofrece.
Diferencias relevantes
- Distingue el ejecutable de build invocado (el wrapper o la CLI de la herramienta) de los archivos de manifiesto y lockfile que declaran las dependencias y su resolución.
- La forma idiomática de Rust debe conservarse aunque la sintaxis difiera de Kotlin.
Instala las dependencias declaradas, construye todos los módulos, ejecuta las pruebas y corre la aplicación de línea de comandos.
docker compose run --rm app cargo build
docker compose run --rm app cargo test
docker compose run --rm app cargo runDockerfile mínimo para el toolchain de Rust.
FROM rust:1.83
WORKDIR /workspace
COPY . .compose.yaml: construye la imagen y monta el proyecto para correr los comandos anteriores dentro del contenedor.
services:
app:
build: .
volumes:
- .:/workspace
working_dir: /workspace