trivago/cucable-plugin

Skip features Generation

Closed this issue · 10 comments

Hello, I'm working on parallel execution of ours acceptance tests in my current project. After some research, I found that cucable-plugin is the most easy and clear plugin to generate runners based on template from ours .features files. But the generation of features files for each scenario is a behaviour that I need to avoid. Basically, I need cucable to generate runners, based on my .java template, for each one of my .features files, but not generating others features files.

I would like a parameter on pom or VM args that allow me to generate just runners and avoid the features generation.

Comment:
I know there is others plugins that have this behavior, but they are not so easy and clear to configure as cucable. Also, I didn't found another plugin that use a .java template file to generate runners from.

So you want to have runners that point to your existing features? Could it also be an option for Cucable to generate runners and feature files that each contain all scenarios from their source features?

To be more precise, I need all the scenarios included in a single .feature file to be executed in series, because they use the same data and if they are executed in parallel will be conflict in our tests. But between .features files there are not restrictions, and will be no conflict. So I think that if Cucable do generate new .feature files, but keeping the scenarios together like in the source, will do the trick.

This should be an easy thing to integrate which might be helpful for some people. I will add this to the list of features of the next release.

Thank you! I'll be waiting for it :)

I finished the implementation of this feature. As soon as the unit tests and the documentation is ready, I will release it.

Hello @laxersaz, thank you for this! I just tried to use the new feature on realease 1.2.0, but it didn't worked. I don't know if i missed something, but if I take off the <parallelizationMode>features</parallelizationMode> parameter it's start to work again. Here is the error:

[INFO] --- build-helper-maven-plugin:3.0.0:add-test-source (add-test-source) @ siga-acceptance ---
[INFO] Test Source directory: C:\unimed\siga\siga-acceptance\target\parallel\runners added.
[INFO] 
[INFO] --- cucable-plugin:1.2.0:parallel (generate-test-resources) @ siga-acceptance ---
[INFO] -------------------------------------
[INFO]  Cucable Maven Plugin, version 1.2.0
[INFO] -------------------------------------
[INFO] - sourceRunnerTemplateFile  : src/test/java/template/CucableRunnerTemplate.java
[INFO] - generatedRunnerDirectory  : C:\unimed\siga\siga-acceptance\target/parallel/runners
[INFO] - sourceFeature(s)          : src/test/resources/br/com/unimedvtrp/acceptance/features
[INFO] - parallelization mode      : FEATURES
[INFO] - generatedFeatureDirectory : C:\unimed\siga\siga-acceptance\target/parallel/features
[INFO] - numberOfTestRuns          : 1
[INFO] -------------------------------------
[INFO] -   3 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\atendimento-consulta-beneficiario-local-e-intercambio.feature.
[INFO] -   7 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\criacao-consulta-beneficiario-isento-biometira.feature.
[INFO] -   5 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\criacao-consulta-beneficiario-local-e-Intercambio.feature.
[INFO] -   1  scenario from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\identificacao-beneficiario-intercambio.feature.
[INFO] -   4 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\identificacao-beneficiario-local-em-local-sem-servico-biometria.feature.
[INFO] -  18 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\identificacao-beneficiario-local-links-acesso-rapido.feature.
[INFO] -   7 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\identificacao-beneficiario-local-meio-biometria.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_atomicos\solicitacao-exames-beneficiario-local-e-intercambio.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\atendimento_medico\atendimento_consulta_simples.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\atendimento_medico\atendimento_reconsulta.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\atendimento_medico\solicitacao_exame_e_internacao.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\captura_de_senha\captura_de_senha_nao_seriados.feature.
[INFO] -   3 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\captura_de_senha\captura_de_senha_seriados.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\consultas_finalizadas_medico\solicitar_exames.feature.
[INFO] -   1  scenario from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\consultas_finalizadas_secretaria\auto_gerados.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\consultas_finalizadas_secretaria\impressoes.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\consultas_finalizadas_secretaria\visualizar_exames_e_internacoes.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\criacao_de_consulta\beneficiario_faixa_etaria_especial.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\criacao_de_consulta\beneficiario_intercambio.feature.
[INFO] -   2 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\criacao_de_consulta\beneficiario_isento.feature.
[INFO] -   4 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\criacao_de_consulta\biometria_e_cartao.feature.
[INFO] -   3 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\criacao_de_consulta\busca_manual.feature.
[INFO] -   3 scenarios from src\test\resources\br\com\unimedvtrp\acceptance\features\fluxos_basicos\criacao_de_consulta\criancas.feature.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.699 s
[INFO] Finished at: 2018-11-14T08:40:33-02:00
[INFO] Final Memory: 25M/263M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.trivago.rta:cucable-plugin:1.2.0:parallel (generate-test-resources) on project siga-acceptance: Execution generate-test-resources of goal com.trivago.rta:cucable-plugin:1.2.0:parallel failed: Index: 0, Size: 0 -> [Help 1]

Checking...

@Comette can you please run it with the maven option -X and send me the stacktrace?

Or - if it is not too secret - sending me your complete feature set would be even better.

@Comette Any news?

Should be fixed with different feature generation approach in 1.3.0