Javascript.RU

Голосование: тестируете ли вы свой код (автоматическое тестирование)?
Опции опроса
тестируете ли вы свой код (автоматическое тестирование)?

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 16.10.2011, 14:32
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Kolyaj
Как мне это поможет проверить правильность определения размеров документа?
это не поможет тебе проверить правильность определения размеров. Это поможет тебе проверить, что сама функция работает правильно. White box testing. Можешь статью Фаулера почитать про моки и заглушки. И да, я не уверен, что надо так тестировать. Я выше писал, что кросс-браузерность автоматически не протестируешь. Хотя может быть что-то можно протестировать с помощью инструментов выше, я еще не разбирался детально. Но там писалось про интеграцию в браузеры.
Ответить с цитированием
  #12 (permalink)  
Старый 16.10.2011, 19:09
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

x-yuri, функция получения размеров документа - 2 строчки кода. там нечего тестировать. эти 2 строчки в отрыве от всего остального тестировать вообще нет никакого смысла. именно поэтому 90% модульных тестов - мусор. лучше применять так называемые каскадные тесты. когда модули тестируются без отрыва от окружения, полагаясь на то, что модули ими используемые уже протестированы.
__________________
.ня
Ответить с цитированием
  #13 (permalink)  
Старый 16.10.2011, 19:10
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

Kolyaj, в данном случае нужно создать документ заданой наперёд высоты и проверить совпадают ли вычисленные этой функцией значения с эталонными.
__________________
.ня
Ответить с цитированием
  #14 (permalink)  
Старый 16.10.2011, 19:14
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

ну и на правах рекламы:

http://nin-jin.github.com/web-compon...doc.xml?LO858F
__________________
.ня
Ответить с цитированием
  #15 (permalink)  
Старый 17.10.2011, 13:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от tenshi
Kolyaj, в данном случае нужно создать документ заданой наперёд высоты и проверить совпадают ли вычисленные этой функцией значения с эталонными.
Ну ок, давай чуть усложним задачу. Нужно протестировать функцию вычисления размеров viewport-а. Как ты создашь страницу с заранее заданными размерами окна, да ещё чтобы они были одинаковы во всех браузерах?
Ответить с цитированием
  #16 (permalink)  
Старый 18.10.2011, 00:43
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

никак. некоторым функциям нужно просто доверять.
__________________
.ня
Ответить с цитированием
  #17 (permalink)  
Старый 18.10.2011, 11:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ну вот именно этой доверять не хочется
Ответить с цитированием
  #18 (permalink)  
Старый 18.10.2011, 20:22
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

почему? есть основания ей не доверять?
__________________
.ня
Ответить с цитированием
  #19 (permalink)  
Старый 17.11.2011, 00:39
Интересующийся
Отправить личное сообщение для axyd Посмотреть профиль Найти все сообщения от axyd
 
Регистрация: 17.11.2011
Сообщений: 18

Даже не представляю как работать с динамическими языками без тестов/спецификаций, использую Jasmine.

Например, тестирование логики (простенький IoC / DI)
https://github.com/alexeypetrushin/r...on_spec.coffee
сам код
https://github.com/alexeypetrushin/r...jection.coffee

Тестирование интерфейса (Backbone.js)
https://github.com/alexeypetrushin/r...es_spec.coffee
сам код
https://github.com/alexeypetrushin/r...ntities.coffee

Про то что все не протестировать и про кроссбраузерность:
Да, но есть хорошая новость - ошибки в програмных продуктах подчиняются закону Парето (power law) и распределены нелинейно. Хорошая - потому что можно писать всего-лишь простейшие тесты для 20% функционала и это позволит отловить более 80% всех ошибок.

Про кроссбраузерность - можно селениумом тестровать, но это уже сложно.

П.С. кстати, кто использует Jasmine (особенно6 если используете ее с CoffeeScript), может буде интересно, вот эта штука http://alexeypetrushin.github.com/mary позволяет поменять форму записи expectation и писать

'Mary'.should match: /ry/
или
'Mary'.should().match /ry/

вместо
expect('Mary').toMatch(/ry/)

Последний раз редактировалось axyd, 17.11.2011 в 00:49.
Ответить с цитированием
  #20 (permalink)  
Старый 17.11.2011, 00:54
Интересующийся
Отправить личное сообщение для axyd Посмотреть профиль Найти все сообщения от axyd
 
Регистрация: 17.11.2011
Сообщений: 18

Вторым, не таким видимым но не менее значимым достоинством спецификаций (BDD/TDD) является то что без них невозможны все эти refactoring, SCRUM, agile, прочие методологии.
Потому что ключевой компонент всех этих методик - возможность развивать проект мелкими итеративными шагами, или, говоря другими словами - возможность быстрого и безболезненного внесения правок в код проекта.

А без тестов это невозможно, потому что хрен знает будет ли проект работать после этой, даже очень маленькой правки.
И эта неявная проблема - высокая стоимость внесения изменений (потому что после каждой правки нужно тратить время на ручное тестирование) может тормозить развитие проекта.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать bodyclick код royksopp Общие вопросы Javascript 8 14.10.2011 16:39
код странно отрабатывает комбинацию клавиш ffx Общие вопросы Javascript 4 20.01.2011 10:58
Как правильно прописать свой код в .js Всеми_Любимый Элементы интерфейса 6 23.02.2010 21:34
Как узнать динамический код страницы? gosha13 Общие вопросы Javascript 5 27.07.2009 13:31
Стоит ли пользоваться библиотеками или лучше писать свой код? lancer Общие вопросы Javascript 5 24.03.2008 19:31