Equivalencia desde Kotlin
Herramientas
CercanaEn F#, la CLI de .NET (dotnet build, dotnet test, dotnet run, archivos .fsproj) 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
- la CLI de .NET (
dotnet build,dotnet test,dotnet run, archivos.fsproj) - Riesgo de diseño
- Copiar la sintaxis de Kotlin en vez de usar la CLI de .NET (
dotnet build,dotnet test,dotnet run, archivos.fsproj).
- Recomendación
- Expón el contrato del fixture y usa la CLI de .NET (
dotnet build,dotnet test,dotnet run, archivos.fsproj) 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 F# 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 dotnet build
docker compose run --rm app dotnet test
docker compose run --rm app dotnet runDockerfile mínimo para el toolchain de F#.
FROM mcr.microsoft.com/dotnet/sdk:9.0
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