JGiven本地化介绍词

时间:2018-09-27 08:14:03

标签: java bdd jgiven

我正在从事一个用法语定义域的项目。我正在使用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()批注来翻译诸如@IntroWordStage之类的介绍性单词,但是如何翻译{{1} },given()when()简介词?

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

有什么办法吗?

谢谢

1 个答案:

答案 0 :(得分: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" );
    } 
}