Add cleaning_with method
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 42/100
Direção de pesquisa
Comece lendo as APIs existentes de cleaning e strategy referenciadas pela issue, especialmente Base e o ponto de entrada de DatabaseCleaner no nível do módulo. Adicione o comportamento de cleaning solicitado por teste sem alterar a strategy globalmente e, em seguida, verifique se ele funciona em todas as conexões configuradas, com testes focados para ambos os pontos de entrada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi,
I'm slowly transitioning my tests to use transaction based cleaning instead of truncation. To do this, I'm currently using an around method which will use the strategy I want only for that test;
around(:each) { |example| DatabaseCleaner.cleaning_with(:transaction, &example) }
This is my extension:
module DatabaseCleaner
class Base
def cleaning_with(*args, &block)
create_strategy(*args).cleaning(&block)
end
end
class << self
def cleaning_with(*args, &inner_block)
connections.reduce(inner_block) do |curr_block, connection|
proc { connection.cleaning_with(*args, &curr_block) }
end.call
end
end
end
Would you consider adding this to the project itself? Btw, I realise doing this introduces some code repetition, I haven't yet looked at that because I didn't want to touch the original source code yet ;-)
- Linguagem predominante
- Ruby
- Estrelas
- 3k
- Forks
- 485
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem 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 DatabaseCleaner/database_cleaner
-
:transaction strategy: uncommitted data disappears after perform_enqueued_jobs on Rails ≥ 7.2Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 67/100
-
Cleaning of dev DBAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
-
Cannot truncate a table referenced in a foreign key constraint (ActiveRecord::StatementInvalid)Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
DatabaseCleaner/database_cleaner#717 · 5 comentários · 1 reação ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
DatabaseCleaner/database_cleaner#716 · 2 comentários ·
Todas as issues de DatabaseCleaner/database_cleaner
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 84/100
-
Ruby 4.0.9, 3.4.12, 3.3.13Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
wolfi-dev/os#78773 · 2 reações ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
TheOdinProject/curriculum#31487 · 2 comentários ·
Mantenedores costumam responder em até 1 dia