Я предпочитаю удобочитаемость сначала, которая чаще всего не использует метод установки. Я делаю исключение, когда основная операция установки занимает много времени и повторяется в каждом тесте.
В той точке я перемещаюсь, та функциональность в метод установки с помощью @BeforeClass
аннотация (оптимизируйте позже).
Пример оптимизации с помощью @BeforeClass
метод установки: Я использую dbunit для некоторых функциональных испытаний базы данных. Метод установки ответственен за помещение базы данных в известном состоянии (очень медленный... 30 секунд - 2 минуты в зависимости от объема данных). Я загружаю эти данные в методе установки, аннотируемом @BeforeClass
, и затем запускаю 10-20 тестов против того же набора данных в противоположность re-loading/initializing база данных в каждом тесте.
Используя Junit 3.8 (расширяющий TestCase как показано в Вашем примере) требует записи немного большего количества кода, чем просто добавление аннотации, но "выполненный однажды установка класса" все еще возможна.
function onKeyDown(event) {
event.preventDefault();
}
http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event-preventDefault
или
function onsubmit(event) {
return false;
}
вернуть false для остановки распространение событий
Попробуйте event.cancelBubble = true
в обработчике событий.
Запись,
<script type="text/javascript">
function keyDn(obj)
{
if(window["event"]["keyCode"]==48) // key 0 will disabled keyPress event
{
obj["onkeypress"]=null;
}
}
function keyPs(obj)
{
alert("Keypress");
}
</script>
<form id="form1" runat="server">
<div>
<input type="text" onkeydown="keyDn(this)" onkeypress="keyPs(this)" />
</div>
</form>
в обработчике нажатия клавиши.
Я смог получить event.preventDefault(); для работы в Safari и Firefox, но не в IE7 или IE8.
Если вы хотите только отключить ключ ввода, убедитесь, что вы также проверяете значение ключа (13 для Enter) и устанавливаете только event.preventDefault() для этого ключа.
Кто-нибудь может придумать ответ для IE7/8 или Opera?
.