Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Refactor tests to use `checkPackage` directly

Abierto
#140 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
48/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
dart
Área
testing-qa

Línea de trabajo

Comienza con executable_test.dart y compáralo con las pruebas del workspace referenciadas en #138. Rastrea cómo las pruebas invocan actualmente la herramienta y comprueban stdout, stderr y el código de salida; después, revisa checkPackage() y los matchers de streams de package:test. Se considera completado cuando las pruebas del ejecutable usan el punto de entrada directo, conservan esas assertions y consiguen un tiempo de ejecución más cercano al de las pruebas del workspace.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The workspace tests (see #138) run 11 tests in just 1 second, or about 0.1 sec/test. The existing executable_test.dart tests run 25 tests in 1:40, or about 4 sec/test. That's not prohibitively long, but maybe it can be improved.

Both tests generate directories and files to disk in the same way and run the tool on those files. The main difference is that instead of calling dart run dependency_validator and checking the output, the workspace tests call checkPackage() directly and don't spawn any new processes.

The original tests do more than just check the return value though. They also check the stdout, stderr, and exit code, so they use Process.start. They can probably be rewritten to use checkPackage() directly with a custom logger, and use stream matchers from package:test instead of checking the entire process output.

If this results in tests that run similarly to the workspace tests, that could mean the 25 tests will be complete in about 2.5 seconds -- an over 95% speedup.

Lenguaje dominante
Dart
Estrellas
66
Forks
26
Merge medio
37 min
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Workiva/dependency_validator

Todos los issues de Workiva/dependency_validator

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.