Обработка утверждения формата даты в Великобритании и формата даты в США только в одном тесте? - PullRequest
0 голосов
/ 12 ноября 2018

Я написал тест пользовательского интерфейса Cucumber, в котором утверждаю дату (22 декабря), тест работает нормально, если для локали задано значение US.

К сожалению, произойдет сбой в случае, если языковой стандарт установлен на UK, поскольку формат даты отличается, со днем, предшествующим месяцу, то есть дата становится (22 декабря).

Как мне справиться с этим крайним случаем в моем тесте пользовательского интерфейса?

Сценарий файла функции:

Затем подтвердите следующую информацию на экране Сведения для isOutbound:

true   | travel date      | Dec 22     

Фрагмент кода определения шага:

@Then("^validate following information is present on the overview screen for isOutbound : (true|false)$")
public void validateOverviewInfo(boolean outBound, Map<String, String> parameters) throws Throwable {
        validateFlightDetailsWidget(R.id.travel_info_view_text, parameters.get("travel date"), outBound);
}

и

private void validateFlightDetailsWidget(int resId, String value, boolean outBound) throws Throwable {
            onView(allOf(outBound ? isDescendantOfA(withId(R.id.package_bundle_outbound_flight_widget))
                    : isDescendantOfA(withId(R.id.package_bundle_inbound_flight_widget)),
                withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE),
                withId(resId)))
                .check(matches(withText(containsString(value))));
...