Os formatadores customizados que se conectam apenas a test-run-finished
como o formatador JSON funcionam como pretendido quando paralelizados, mas os formatadores que usam eventos anteriores como test-(step|case)-started
e são ordenados têm sua saída registrada fora da sequência, invalidando a estrutura do documento de saída. Há algo planejado para resolver isso? Pode-se armazenar a saída em bases por trabalhador e registrar tudo de uma vez no mestre depois de concluído?
Acho que cada evento deve conter informações suficientes para ser capaz de vinculá-lo a eventos anteriores, em vez de armazenamento em buffer.
Não tenho certeza de como isso funcionaria se apenas os eventos de 'fim' fossem interceptados, pois perderia o início da saída do teste. Para usar o formatador bonito e os executores de teste dos editores baseados no IntelliJ como exemplos, eles funcionam da seguinte maneira:
Scenario: Foo
, no caso de IntelliJ - comentário formatado do TeamCity #teamcity[testStarted]
pass/fail
resumo ou ##teamcity[testFinished]
A ordem é importante para ter a declaração de abertura antes de qualquer coisa que o teste registra e a declaração de fechamento depois e nenhum outro teste deve registrar nada em paralelo a isso ou eles irão confundir qual saída pertence a qual teste. O armazenamento em buffer parece cuidar disso, pois cada saída será isolada e conectada ao mestre na operação atômica.
Podemos passar uma opção isParallel
para formatadores personalizados para que saibam que a saída de coisas em eventos de caso de teste iniciado / etapa de teste ficará confusa e, portanto, eles só devem gerar saída em eventos de caso de teste concluído.
Precisamos de mais discussão sobre este assunto. Atualmente, o uso de qualquer formatador apresenta o risco de travar o cucumber runner devido a conflitos de E / S ao tentar gravar em um terminal. O formatador da barra de progresso seria ideal para o corredor paralelo, se ele apenas movesse a barra e relatasse um resumo no final.
Precisamos muito desse recurso !!!
Olá! Existe alguma chance de executar o Pepino Js em paralelo com o repórter Allure? Quando tento executar com cucumber-js --parallel 2 -t @debug --format reporter.js: ./ dummy.txt Acabei de receber TypeError: Não é possível ler a propriedade 'sourceLocation' de indefinido
Agradeço antecipadamente!
Mesmo problema que @ yevgen-getalo aqui.
Fechar como v7.0.0 usa o novo protocolo de mensagens mencionado acima, onde $THING_started
e $THING_finished
eventos podem ser confiavelmente vinculados por meio de ids. O objeto eventDataCollector.query
(uma instância de @cucumber/query
) pode ajudar em parte disso.
Comentários muito úteis
Precisamos muito desse recurso !!!