LINUX.ORG.RU

Grester облегчает JUnit-тестирование Java-приложений

 , , ,


0

0

Вы написали пакет unit-тестов. Как программисту, вам приходится выполнять свои тесты по много раз в день, особенно в среде непрерывной интеграции. Но что будет с тестами, если нужно изменить исходные коды? Ответ на этот вопрос легко получить, объединив возможности Jester и Maven в Grester.В этой статье мы не будем вдаваться в технические детали интерпретации выходных данных Jester и приводить подробное описание его работы. Здесь приводятся рекомендации по приобретению и использованию Maven-модуля, выступающего оболочкой для Jester.

>>> Подробности

★★★

Проверено: Shaman007 ()

Re: Grester облегчает JUnit-тестирование Java-приложений

Java рулит!

emperor ()

Re: Grester облегчает JUnit-тестирование Java-приложений

мм, новая статья от ибма, надо почитать...

TERRANZ ★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

"работает J2EE-консультантом в серверной Вирджинии." (c)

Доставило немеренно.

Bioreactor ★★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

Посмотрел статью... Какой же Junit многословный...
>public class CommandExecutorTest extends TestCase

В C# все как-то короче, не по вижулбейсиковски...
>[Test]public void CommandExecutorTest()

:)

impfp ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>а что, правду говорят что сегодня будет срач Java vs C#? бежать за попкорном?

Такой срач бесперспективен, пока в нем не появится индивид, который заявит, что Java и С# гавно, а плюсы рулят.

zloelamo ★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

Да уж... Кстати, для IC++ vs MS C# 3 не такой уж и большой разрыв. http://rsdn.ru/forum/flame.comp/3396499.flat.aspx#3396499

Хотя лично я от осознания этого факта не страдаю :)

impfp ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>как-то уныло и толсто. не то.

Просто на лоре последнее время количество троллей, разных рангов, преобладает над количеством дебилов.

zloelamo ★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>В C# все как-то короче, не по вижулбейсиковски... >>[Test]public void CommandExecutorTest()

Толсто! В JUnit можно и так:

@Test public void CommandExecutorTest()

Где разница? И сильно оно лучше чем прото наследование? Какя вообще разница? Жава, сишарп, одна хрень. Хаскель рулит!

dizza ★★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

> Посмотрел статью... Какой же Junit многословный...

пример был просто для старого джиюнита, в 4ой версии все точно также и даже на 1 символ короче :) "@Test"

RomanIvanov ()

Re: Grester облегчает JUnit-тестирование Java-приложений

Добавлю жару: юнит-тесты не нужны. Кто вообще это придумал, почему решил, что это полезно? Лишняя, нудная работа с неясной отдачей.

Droid790 ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>Просто на лоре последнее время количество троллей, разных рангов, преобладает над количеством дебилов.

ммм.... наверное наоборот?

k0l0b0k ★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

Лучшеб с Mono разобрались , Java уже пережиток

Echo ()

Re: Grester облегчает JUnit-тестирование Java-приложений

ну и чем вам С# не нравится?кроме того что он от МС

nexus86 ()

Re: Grester облегчает JUnit-тестирование Java-приложений

linux - фигня!!! лучше установите Mac OS 7.5 на Windows 95-XP, для этого заходите http://www.old-mac.narod.ru

Blar ()

Re: Grester облегчает JUnit-тестирование Java-приложений

> Добавлю жару: юнит-тесты не нужны. Кто вообще это придумал, почему решил, что это полезно? Лишняя, нудная работа с неясной отдачей.


или толсо, или поймёте - когда будете делать большие модификации в сложной программе, да ещё работающей в продакшене, да ещё разрабатываемую не тобой а многими девелоперами фирмами.
(хинт: посылать всё тестерам на регрессионный тест на каждый чих - замучаешься, или будешь девелопить годами или с бесконечным бюджетом).

Я например вписываю кучу запросов в базу на контрольные суммы правильных результатов - и даже после больших изменений, без тестов могу засылать код в продакшен (потому что знаю что ничего не сломал: уж если даже суммы совпадают - значит всё осталось как раньше, до изменений).

siberean ()

Re: Grester облегчает JUnit-тестирование Java-приложений

потом всё равно - девелопишь , т.е. тестируешь сразу - что наваял. Так тестируешь сразу в юнит тесте. Там и оставляешь. Я бы сказал - что оверхеда никакого (до юнит тестов я и так писал main везде, либо main под ifndef и передача имени нужного унит-теста через -D и шелл-скрипт, проходящий через все унит-тесты. Автоматизировать работу надо, зачем компутер то?

siberean ()

Re: Grester облегчает JUnit-тестирование Java-приложений

литературы полно, влом.

Кратко - каждый тест это как main. В него кладём одну функцию, которую тестируем. Это унит-тест этой конкретной функции. Всё равно это делаете - когда пишете функцию в первый раз. Программа растёт и батч унит-тестов растёт. (то что можно написать на JUnit - можно написать на шеллах или перле или чём угодно).

Потом достаточно запустить все тесты - как один батч - и за минуты проверить - ничего-ли не сломано. Сразу видно. При продуманных тестах - тестеров, брякающих по всем клавишам, - можно увольнять (прога сама себя проверяет). Регрессионный тест называется.

siberean ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>junit.org
nunit.org - это для "скачать" :))) Ну или xxxUnit (xxx = Cpp, D, Php, Py - на любой фкус)
http://wiki.agiledev.ru/doku.php?id=tdd - это почитать

а потом осваивать, скажем, xxxCover :)

impfp ()

Re: Grester облегчает JUnit-тестирование Java-приложений

> Добавлю жару: юнит-тесты не нужны. Кто вообще это придумал, почему решил, что это полезно? Лишняя, нудная работа с неясной отдачей.

Целиком с Вами солидарен. В свое время я тоже в хэллоуворлдах без юнит-тестов обходился прекрасно.

slyjoe ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>Нужно отказаться от мега-идеи выпуска нобелевских лауреатов. Их в любом случае много не бывает, а девелоперов нужно много, очень много.

>Ты судя по всему видишь только две градации — ПТУ или нобелевские лауреаты, своего рода дальтонизм

Плюсую.

Karapuz ★★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

Я бы сделал или побайтовое сравнение с файлом-эталоном, или сравнение текстов XFA - как наиболее простое. Хотя стоит придерживаться правила полной независимости тестов от окружения (в данном случае - файловой системы)

impfp ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>Кстати, а как unit тестами проверить, правильно ли генерится pdf'ка какая-нибуть?

А как юнит тестами проверить, правильно ли Oracle сохраняет инсерты в базу? pdf-ки генерятся библиотеками, они (библиотеки) и должны уже быть проверифицированы вдоль и поперек.

Karapuz ★★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

> Посмотрел статью... Какой же Junit многословный... > public class CommandExecutorTest extends TestCase

Уже давно ничего экстендить не надо. Видимо, статья - боян (по ссылке не ходил).

Bohtvaroh ★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>А как юнит тестами проверить, правильно ли Oracle сохраняет инсерты в базу?

Я написал библиотечку где передаю димамический SQL и тесты выглядят примерно вот так (сотни тестов, много сотен), и не только скаляры, а также и листы и хеши, откуда я просто могу вытащить что надо и сделать нужный ассерт (это упрощённо, запросы могут быть по странице длинной):

//should be exaclty 1 record
assertTrue("20".equals(
DBUtil.getScalar(
"select xxx from " +
Config.getDBSchema() + "yyy " +
"where file_submission_id=" + submissionId)));

assertTrue(DBUtil.insert("some insert"));

assertTrue("1".equals(
DBUtil.getScalar(
"some JOIN bla-bla-bla "+
" and something = 2000'" +
" and reporting='Q2'" +
" and report_status_type_code='20'" +
" and bla_submitter='1120'" +
" group by bla-bla-bla )));

assertTrue(1==DBUtil("update bla-bla-bla"));

//exactly 155 records been inserted into
assertTrue("155".equals(
DBUtil.getScalar(
"select count(*) from " +
Config.getDBSchema() + "bla_bla_and_so_on ")));

siberean ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>>>В C# все как-то короче, не по вижулбейсиковски... >>[Test]public void CommandExecutorTest()

>Толсто! В JUnit можно и так:

>@Test public void CommandExecutorTest()

сишарповский NUnit слизан с JUnit http://en.wikipedia.org/wiki/Nunit

Karapuz ★★★★★ ()

Re: Grester облегчает JUnit-тестирование Java-приложений

> А как юнит тестами проверить, правильно ли Oracle сохраняет инсерты в базу? pdf-ки генерятся библиотеками, они (библиотеки) и должны уже быть проверифицированы вдоль и поперек.

Библиотеки проверифицированы. Вопрос в другом. К примеру, некая система раз в 2 часа шмонает все устройства в сети, затем генерит pdf страниц на пицот. И, допустим, какая-то одна табличка почему-то съехала вправо на пиксель. Как такое unit тестом проверить?

slyjoe ()

Re: Grester облегчает JUnit-тестирование Java-приложений

>Кстати, а как unit тестами проверить, правильно ли генерится pdf'ка какая-нибуть?

я бы подёргал пдф-ку через какой-то АПИ (чтобы быть не зависимым от конкретной версии ПДФ) - на предмет наличия основных элементов. (ну грубо можно размер проверить - что не меньше чего-то, так как основная масса обломов будет - это когда ПДФда пустая или типа того). Статистически надо смотреть - что в основном ломают.

siberean ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.