Document about the ways to write unit tests for Bolt apps
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- python
- Domínio
- documentation, testing-qa
Direção de pesquisa
Comece pela documentação do Bolt for Python em https://slack.dev/bolt-python/ e revise a estrutura dos handlers mostrada em main.py e api.py, incluindo app.command, app.event, app.db, ack e respond. Documente uma abordagem razoável para testes unitários desses handlers, incluindo test doubles para os argumentos dos handlers e as dependências de app, com exemplos que deixem claro o comportamento esperado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 1.3k
- Forks
- 288
- Merge médio
- 1d 8h
- PRs com merge (30d)
- 10
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de slackapi/bolt-python
-
docs enhancement server-side
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
slackapi/bolt-python#1576 · 1 comentário ·
-
auto-triage-skip bug security semver:major
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
slackapi/bolt-python#1447 · 9 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
slackapi/bolt-python#1577 ·
-
area:async auto-triage-skip dependencies
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
slackapi/bolt-python#1472 · 1 comentário · 1 reação ·
-
auto-triage-skip enhancement
slackapi/bolt-python#1346 · 2 comentários · 1 responsável ·
Todas as issues de slackapi/bolt-python
Issues semelhantes
-
agent-ready documentation needs-triage
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
-
documentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
-
instance instance add
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
searxng/searx-instances#939 · 1 comentário ·
-
area-deployment area-integrations triage:bot-seen
Dificuldade 2/5 Meio dia Facilidade para iniciantes 86/100