Implement a pytest plugin to help with testing
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece lendo a discussão sobre pytest-plugin na PR #5108 e os exemplos de fixture e context-manager solicitados nesta issue. Considera-se concluído quando uma fixture reutilizável do pytest ou um context-manager sobrescrever is_feature_enabled, get_flag e get_feature_value para os valores de Flag fornecidos dentro do escopo do teste.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
As part of some work in the core Flagsmith repository, we found that there isn't currently a good, generic solution for mocking the flagsmith client to return a given value for a flag at a given time. The ideal implementation as I see it would be to build a fixture that can be used as a context manager, or a function that looks something like this:
def my_test_function(set_flags: FlagsmithSetFlagsFixture) -> None:
with override_flagsmith(flags=[Flag(name="foo", enabled=True, value="foobar")]):
# in here, any calls to Flags.is_feature_enabled,Flags.get_flag and Flags.get_feature_value
# for the feature "foo" will return the values provided as an argument to override_flagsmith
...
def my_other_test_function(set_flags: FlagsmithSetFlagsFixture) -> None:
set_flags(flags=[Flag(name="foo", enabled=True, value="foobar")])
# For the remainder of this test, any calls to Flags.is_feature_enabled,Flags.get_flag
# and Flags.get_feature_value for the feature "foo" will return the values provided as
# an argument to override_flagsmith
See PR here for more context / discussions
- Linguagem predominante
- Python
- Estrelas
- 24
- Forks
- 12
- Merge médio
- 15h 43min
- PRs com merge (30d)
- 4
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 Flagsmith/flagsmith-python-client
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
-
Dependency Dashboard Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
-
Flagsmith/flagsmith-python-client#198 · 1 comentário · 2 responsáveis ·
Todas as issues de Flagsmith/flagsmith-python-client
Issues semelhantes
-
triage/confirmed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
agentscope-ai/agentscope#2775 ·
-
comp/desktop P3 type/bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
NousResearch/hermes-agent#118866 ·
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
apache/cloudstack#14222 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100