0

我正在开发一个用法语定义域的项目。我正在使用 JGiven 编写测试,并且正在尝试完全用法语获取报告。我通过继承SpringScenarioTest我的测试类来使用 Spring Test 基础设施。

这是我所做的一个例子:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class TrainDateTest extends SpringScenarioTest<GivenTrainDate, WhenTrainDate, ThenTrainDate> {

    @Test
    @As("Création d'un train date")
    public void creation_d_un_train_date() {
        given().un_train_date();
        when().je_lance_la_creation_du_train_date();
        then().le_train_date_resultant_doit_avoir_un_id_en_base();
    }
}

我发现了如何在我的课程中翻译类似and()with()使用@IntroWord注释的介绍词Stage,但是如何翻译given(),when()then()介绍词?

问题似乎是这些介绍词是由Scenario该类创建的ScenarioTestBase类定义的,我找不到一种方法来覆盖这种行为而不重写整个类层次结构。

有没有办法做到这一点?

谢谢

4

1 回答 1

0

是的你可以。你可以看看com.tngtech.jgiven.lang.de.SzenarioTestBasis已经为德语提供了这个的。只需创建一个子类SpringScenarioTest并定义您需要的方法,如下所示:

public class FrenchSpringScenarioTest<ETANTDONNE, QUAND, ALORS> extends
    SpringScenarioTest<ETANTDONNE, QUAND, ALORS> {

    public ETANTDONNE etant_donne() {
         return getScenario().given( "etant donné" );
    } 

    public QUAND quand() {
         return getScenario().when( "quand" );
    } 

    public ALORS alors() {
         return getScenario().then( "alors" );
    } 
}
于 2018-11-10T12:09:12.350 回答