Пользуйтесь библиотекой стандарта Сравнительного теста и различными тестами, доступными в направляющих (единица, функциональная, интеграция). Вот пример:
def test_do_something
elapsed_time = Benchmark.realtime do
100.downto(1) do |index|
# do something here
end
end
assert elapsed_time < SOME_LIMIT
end
, Таким образом, здесь мы просто делаем что-то 100 раз, время это через библиотеку Benchmark, и гарантировать, что это взяло меньше, чем количество времени SOME_LIMIT.
также можно найти эти ссылки полезными: ссылка Benchmark.realtime и эти Тест:: ссылка Единицы . Кроме того, если Вы в вещь 'чтения книг', я взял идею для примера от Гибкая веб-разработка с направляющими , который говорит все о различных типах тестирования и немного на тестировании производительности.
Было бы немного проще использовать класс CSS вместо прямого изменения стиля. Таким образом, вы можете воспользоваться удобной функцией toggleClass
для включения и выключения выделения. Также легко проверить, выделен ли div: div.is («. Highlighted»)
или div.hasClass («highlighted»)
сообщат вам.
<script type="text/javascript">
$(document).ready(function() {
$('div.click').click(function() {
$(this).toggleClass('highlighted');
});
});
$(function() {
// Can use one CSS selector to find all three divs and bind them all at once.
$('#div1, #div2, #div3').bind('click', click);
});
function click() {
var p1 = $("#p1");
if ($(this).is(".highlighted")) {
p1.append(this.id + ",");
}
else {
p1.text(p1.text().replace(this.id + ",", ""));
}
}
</script>
<style type="text/css">
.highlighted {
background: yellow;
}
</style>
Мне нравится хранить другие функции в отдельном блоке от одного события обработки ready .
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
var divs = new Object();
function click(event){
var did=event.target.id;
if($("#"+did).css('backgroundColor') == 'yellow')
divs[did]=true;
else
divs[did]=false;
AppendText();
}
function AppendText(){
var txt="";
for(var x in divs)
if(divs[x]==true)
txt +=x+",";
$('#p1').html(txt);
}
</script>
Теперь щелчки соединения.
<script type="text/javascript">
$(document).ready(function() {
$('div.click').click(function() {
var bg = $(this).css('backgroundColor');
$(this).css({backgroundColor:
bg == 'yellow' || bg == 'rgb(255, 204, 204)' ?
'transparent' : 'yellow'});
});
$('#div1').bind('click', divclick);
$('#div2').bind('click', divclick);
$('#div3').bind('click', divclick);
});
</script>