Я написал тест пользовательского интерфейса 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))));