JGiven локализовать вводное слово - PullRequest
0 голосов
/ 27 сентября 2018

Я работаю над проектом, в котором домен определен на французском языке.Я использую JGiven для написания тестов и пытаюсь получить отчет полностью на французском языке.Я использую инфраструктуру Spring Test, наследуя SpringScenarioTest в своих тестовых классах.

Вот пример того, что я сделал:

@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, и я не могу найти способ переопределить это поведение без переписывания всей иерархии классов.

Есть ли какие-либоспособ сделать это?

Спасибо

1 Ответ

0 голосов
/ 10 ноября 2018

Да, вы можете.Вы можете взглянуть на 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" );
    } 
}
...