Document about the ways to write unit tests for Bolt apps
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
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- documentation, testing-qa
Línea de trabajo
Comienza con la documentación de Bolt for Python en https://slack.dev/bolt-python/ y revisa la estructura de los handlers mostrada en main.py y api.py, incluidos app.command, app.event, app.db, ack y respond. Documenta un enfoque razonable para las pruebas unitarias de estos handlers, incluidos test doubles para los argumentos de los handlers y las dependencias de app, con ejemplos que hagan claro el comportamiento esperado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I am looking to write unit tests for my Bolt API, which consists of an app with several handlers for events / messages. The handlers are both decorated using the app.event decorator, and make use of the app object to access things like the db connection that has been put on it. For example:
# in main.py
app = App(
token=APP_TOKEN,
signing_secret=SIGNING_SECRET,
process_before_response=True,
token_verification_enabled=token_verification_enabled,
)
app.db = db
# in api.py:
from .main import app
@app.command("/slashcommand")
def slash_command(ack, respond):
ack()
results = app.db.do_query()
respond(...)
The thing is, I cannot find any framework pointers, or documentation, on how I would write reasonable unit tests for this. Presumably ones where the kwargs like ack and respond are replaced by test doubles. How do I do this?
The page URLs
Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.
- Lenguaje dominante
- Python
- Estrellas
- 1.3k
- Forks
- 288
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 10
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de slackapi/bolt-python
-
docs enhancement server-side
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
slackapi/bolt-python#1576 · 1 comentario ·
-
auto-triage-skip bug security semver:major
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
slackapi/bolt-python#1447 · 9 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
slackapi/bolt-python#1577 ·
-
area:async auto-triage-skip dependencies
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
slackapi/bolt-python#1472 · 1 comentario · 1 reacción ·
-
auto-triage-skip enhancement
slackapi/bolt-python#1346 · 2 comentarios · 1 asignado ·
Todos los issues de slackapi/bolt-python
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
learningequality/ricecooker#747 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
run-llama/llama_index#23199 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
KhronosGroup/glTF-Blender-IO#2769 ·