Schematics testing infrastructure: ability to easily bootstrap a Tree
- Lenguaje dominante
- TypeScript
- Estrellas
- 27k
- Forks
- 11.8k
- Merge medio
- 14 h 23 min
- PR fusionados (30 d)
- 162
Descripción
### Bug Report or Feature Request (mark with an `x`)
```
- [ ] bug report -> please search issues before submitting
- [x] feature request
```
### Desired functionality
I'd like to be able to more easily unit test individual Rules. and to do this, I'd like to be able to easily create a Tree on the fly.
My current strategy is to create a new schematic for the sole purpose of testing. But there is quite a bit of boilerplate that goes into this: the schematic code, the schema, the build rules, the awkward dependency of the test on this schematic, and the construction of a new schematicRunner in the test. Furthermore, different Rules need different Tree "boilerplate" for testing, so instead of creating a new schematic for each, I've just been jamming all the different types of files I need into this one test-only schematic, which is becoming unwieldy - which files are for testing which Rules?
Sometimes, I am testing a really simple Rule that only operates on one file, and I just want to be able to ask some function: "give me a tree with one file at this certain path with this certain content" or "give me a tree with an empty file at this path" and so on.
I think it'd be great if there was some testing infrastructure that could cook up a quick Tree in place. Or - does something like this already exist?
Guía de contribución
Línea de trabajo
Comienza leyendo la configuración existente de Schematic exclusiva para pruebas, incluido su código de Schematic, esquema, reglas de compilación y la construcción de SchematicRunner del test. Compara los distintos boilerplates de Tree utilizados por Rules individuales y define un pequeño punto de entrada de pruebas que pueda crear los archivos y el contenido solicitados; estará terminado cuando se puedan probar unitariamente las Rules sin un Schematic dedicado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- testing, tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100