Spock Stepwise - Keep running testsuite after single failure

后端 未结 1 1392
执笔经年
执笔经年 2020-12-20 10:33

When using the Spock @Stepwise annotation, is there any way to configure it to not fail the entire testsuite after a single test fails?

相关标签:
1条回答
  • 2020-12-20 11:02

    Decided to just create a new extension called @StepThrough. All I needed to do was subclass StepwiseExtension and take out the line of code that was failing the entire test suite. Pasted code below...

    StepThrough.groovy

    package com.test.SpockExtensions
    
    import org.spockframework.runtime.extension.ExtensionAnnotation
    
    import java.lang.annotation.ElementType
    import java.lang.annotation.Retention
    import java.lang.annotation.RetentionPolicy
    import java.lang.annotation.Target
    
    /**
     * Created by jchertkov on 6/22/15.
     */
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @ExtensionAnnotation(StepThroughExtension.class)
    public @interface StepThrough {}
    

    StepThroughExtension.groovy

    package com.test.SpockExtensions
    
    import org.spockframework.runtime.extension.builtin.StepwiseExtension
    import org.spockframework.runtime.model.SpecInfo
    
    import java.lang.annotation.Annotation
    
    /**
     * Created by jchertkov on 6/22/15.
     */
    public class StepThroughExtension extends StepwiseExtension {
        public void visitSpecAnnotation(Annotation annotation, final SpecInfo spec) {
            sortFeaturesInDeclarationOrder(spec);
            includeFeaturesBeforeLastIncludedFeature(spec);
        }
    }
    

    Notes:

    • I put the code into a package called com.test.SpockExtensions. You will need to do the same with whatever name you would like.
    • Java users - just change filetype from .groovy to .java
    0 讨论(0)
提交回复
热议问题