один путь состоит в том, чтобы записать абстрактный тестовый сценарий, который соответствует Вашему абстрактному классу, затем запишите конкретные тестовые сценарии, которые разделяют Ваш абстрактный тестовый сценарий на подклассы. сделайте это для каждого конкретного подкласса Вашего исходного абстрактного класса (т.е. Ваша иерархия тестового сценария зеркально отражает Вашу иерархию классов). посмотрите Тест интерфейс в junit recipies книга: http://safari.informit.com/9781932394238/ch02lev1sec6 .
также посмотрите Суперкласс Тестового сценария в xUnit шаблонах: http://xunitpatterns.com/Testcase%20Superclass.html
да. Это возможно.
См. http://extjs.com/deploy/dev/docs/?class=Date для форматов даты.
Информацию о том, что можно настроить прямо из коробки, см. папка ext-3.0.0 \ src \ locale \. Включите соответствующий файл или просто настройте свой собственный, используя один из файлов в качестве шаблона.
Например:
Date.monthNames = [
"Januar",
"Februar",
"Marec",
"April",
"Maj",
"Junij",
"Julij",
"Avgust",
"September",
"Oktober",
"November",
"December"
];
Date.dayNames = [
"Nedelja",
"Ponedeljek",
"Torek",
"Sreda",
"Četrtek",
"Petek",
"Sobota"
];
console.log((new Date()).format('Y-M-D'))
С уважением, Джошуа
Фактически, конфигурация формата
используется как для синтаксического анализа, так и для установки формата отображения. Пока altFormats
содержит все возможные форматы данных, которые вы хотели бы поддерживать для синтаксического анализа (значение по умолчанию включает Ymd), вы сможете сделать что-то вроде этого:
Ext.onReady(function(){
new Ext.form.DateField({
format: 'd F Y', // 'd mmm yyyy' is not valid, but I assume this is close?
width: 200,
renderTo: Ext.getBody(),
value: '2009-08-11'
});
});
Итак, чтобы прояснить мое понимание, у вас есть поле даты, которое:
Моя первоначальная реакция, основанная на моем понимании, будет заключаться в том, что вы можете настроить поля даты ext для форматирования и проверки второго формата ('d mmm yyyy'), используя параметр конфигурации формата (format: 'd ммм гггг '). Затем вы отправляете это обратно на сервер в действие вашего контроллера (я думаю) как строковый параметр, а не DateTime. Затем в действии вашего контроллера проанализируйте строку даты и преобразуйте ее, используя:
DateTime.ParseExact(myDate, 'd mmm yyyy', CultureInfo.CurrentCulture)
или подобное, а затем вы можете преобразовать ее в любой формат, который вам нравится, из этого объекта даты.
Это оставляет только сокращенные имена в полях даты в браузере. Я'