Я согласен с утверждением, что ответ «не делай этого» - плохая реакция.
У меня похожая ситуация, когда у меня есть один источник данных, и один тест уничтожит набор данных, в результате чего другие тесты будут терпеть неудачу.
Мое решение состояло в том, чтобы использовать переменные среды операционной системы на моем сервере Bamboo ...
(1) Тест для функции «очистки данных» начинается с цикла while, который проверяет состояние переменной среды «BLOCK_DATA_PURGE». Если переменная «BLOCK_DATA_PURGE» больше нуля, цикл будет записывать запись журнала о том, что он спал 1 секунду. После того, как «BLOCK_DATA_PURGE» имеет нулевое значение, выполнение переходит к проверке функциональности очистки.
(2) Любой юнит-тест, который нуждается в данных в таблице, просто увеличивает «BLOCK_DATA_PURGE» в начале (в настройке ( )) и уменьшает одну и ту же переменную в режиме teardown ().
Эффект этого заключается в том, чтобы позволить различным потребителям данных блокировать функциональность чистки до тех пор, пока они нуждаются, не опасаясь, что чистка может выполняться между тестами. Эффективно операция чистки продвигается до последнего шага ... или, по крайней мере, последнего шага, требующего первоначального набора данных.
Сегодня я собираюсь расширить это, чтобы добавить дополнительные функции, чтобы позволить некоторым тестам REQUIRE_DATA_PURGE , Они будут эффективно инвертировать вышеуказанный процесс, чтобы гарантировать, что эти тесты выполняются только после очистки данных для проверки восстановления данных.
этот относится к текущему элементу, на который нажали.
$(".allBtns").on("click", function(event) {
alert(this.id); // alert the id of current element
});
Еще один способ - получить id
, используя цель события:
$(document).ready(function(){
$(".allBtns").on('click', function(e){
console.log(e.target.id);
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<IMG STYLE="position:absolute; TOP:35px; LEFT:170px; WIDTH:25px; HEIGHT:20px; background:red;" SRC="../image_collection/xx.png" class="allBtns" id="btn1">
<IMG STYLE="position:absolute; TOP:95px; LEFT:50px; WIDTH:25px; HEIGHT:20px; background:red;" SRC="../image_collection/yy.png" class="allBtns" id="btn2">
<IMG STYLE="position:absolute; TOP:295px; LEFT:250px; WIDTH:25px; HEIGHT:20px; background:red;" SRC="../image_collection/yy.png" class="allBtns" id="btn3">
$('.hello').click(function(){
var id = $(this).attr('id');
$('.input').val(id);
});
<button class='hello'>click to get Id</button>
<button class='hello'>click to get Id</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class='hello' id='1'>click to get Id</button>
<button class='hello' id='2'>click to get Id</button>
<input class='input' type="text" />