Cucumber-js: Abra `const { Cli } = require('@cucumber/cucumber')` para uso programático

Criado em 28 jun. 2021  ·  3Comentários  ·  Fonte: cucumber/cucumber-js

Sua solicitação de recurso está relacionada a um problema?
Estou no processo de adicionar suporte para pepino-js no StrykerJS, a estrutura de teste de mutação para JavaScript e amigos. Veja https://github.com/stryker-mutator/stryker-js/pull/2970

Eu gostaria de usar o pepino programaticamente. Aliás, já estou fazendo isso no MR. No entanto, percebo que estou usando uma API não documentada, o que não gosto de fazer, pois a implementação pode quebrar em uma versão de lançamento de patch. Eu me esforço para usar apenas APIs públicas.

Descreva a solução que você deseja

Você aceitaria um PR que documentasse o uso da classe Cli para uso público?

const { Cli } = require('@cucumber/cucumber')

Eu o adicionaria ao seu diretório de documentos . Ou em um novo arquivo ( programmatic-usage.md ) ou adicione-o ao arquivo cli.md .

Descreva as alternativas que você considerou
-

Contexto adicional
Para viabilizar o teste de mutação, precisamos de uma API programática. Simplesmente chamar childProcess.exec para executar o pepino-js funcionaria, mas é terrível para o desempenho, pois o Stryker executará o pepino-js muitas vezes durante uma execução de teste de mutação.

documentation

Comentários muito úteis

Ei @nicojs , seu timing é impecável! Estou escrevendo uma proposta para uma nova API programática esta manhã que, espero, será benéfica para você. Vou marcar você lá, pois seria ótimo receber seu feedback inicial.

Todos 3 comentários

Você não é o único a usar as APIs internas para uso programático.

Acho que seria uma boa ideia estabilizar essa API e documentá-la.

@cucumber/cucumber-js o que você acha?

Ei @nicojs , seu timing é impecável! Estou escrevendo uma proposta para uma nova API programática esta manhã que, espero, será benéfica para você. Vou marcar você lá, pois seria ótimo receber seu feedback inicial.

Vamos fechar isso, pois estamos tendo uma boa discussão no #1711 sobre uma nova API para resolver essa necessidade.

Vou apenas acrescentar que a intenção é deixar a classe Cli funcionando do jeito que está no 8.0.0, mesmo que não esteja na API pública, para dar aos desenvolvedores tempo para mudar para a nova API e ferro fora quaisquer problemas lá.

Esta página foi útil?
0 / 5 - 0 avaliações