0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 2
|
||||||||||||||||
1 | ||||||||||||||||
Не получается написать тест для проверки программы01.07.2013, 07:23. Показов 1626. Ответов 3
Метки нет (Все метки)
Доброго времени суток! Perl мой первый язык программирования и я совсем недавно начал его изучать, пока все более или менее получалось по крайней мере до того момента пока не решил научиться писать тесты к своим программкам и тут я сломал себе мозг)) Суть проблемы такова, что знания английского у меня очень поверхностные на cpan.org прочитал про тесты Simple, More и Differences + книжку(пособие) Perl Testing: A Developer's Notebook естественно многое осталось непонятным, а всё что я нашел в сети по этому поводу на русском очень скудно, такое ощущение что либо единицы пишут тесты, либо это такая банальщина что и говорить стытдно))
Вобщем у меня получилось протестировать свои программки будь то массивы, скаляры и функции если я в них не объявляю переменные через 'my' ,а вот если объявляю то они мне либо 'undef' выдают либо пустоту как пример: tested.pl
1)-я не до конца понял как передавать для проверки какое либо значение и сравнить с тем что будет после отработки этой функции как пример в программке есть такая функция:
2) - если не затруднит в кратце объяснить в чем разница или для чего используются в test::more (is, isnt, like, unlike, cmp_ok, is_deeply, new_ok и subtest) или может кто знает где про это написано на русском, а в идеале с примерами)) Заранее благодарю за любую подсказку и объяснения
0
|
01.07.2013, 07:23 | |
Ответы с готовыми решениями:
3
Написать программу-тест для проверки знаний таблицы умножения Как написать тест для программы? Тест для проверки знаний студентов Создать тест для проверки знаний по математике |
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
|
||||||
01.07.2013, 14:44 | 2 | |||||
На скорую руку написал пример.
Код
1..7 not ok 1 - $znachenie ravno 5 # Failed test '$znachenie ravno 5' # at testmore.pl line 12. ok 2 - $znachenie ravno 4 not ok 3 - testerion @domains # Failed test 'testerion @domains' # at testmore.pl line 14. # +----+----------------------------------+----+----------+ # | Elt|Got | Elt|Expected | # +----+----------------------------------+----+----------+ # * 0|'kimkiduk@mail.ru' * 0|'ggff' * # * 1|'[email]figli@nagli.com[/email]' * | | # +----+----------------------------------+----+----------+ ok 4 - testerion @domains not ok 5 - testerion $znachenie # Failed test 'testerion $znachenie' # at testmore.pl line 16. # +---+-----+----------+ # | Ln|Got |Expected | # +---+-----+----------+ # * 1|4 |'ggff' * # +---+-----+----------+ not ok 6 - test funkcii # Failed test 'test funkcii' # at testmore.pl line 17. # got: '45' # expected: '32' ok 7 - test funkcii # Looks like you failed 4 tests of 7.
1
|
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 2
|
|
01.07.2013, 18:19 [ТС] | 3 |
pka, Спасибо огромное за подсказку по твоему примеру получилось передавать значения в функцию и получать в обратку то что нужно, теперь вопрос с функциями закрыт, но вот с обычными переменными вопрос остался, ведь в твоем примере значения переменных прописаны в тесте, а если я хочу проверить те значения что сохранены в переменных в программке они возвращаются 'undef' если объявлены в 'my', а без 'my' всё ок, вот и вопрос как их проверить при 'my' если это возможно?
0
|
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
|
||||||
01.07.2013, 22:05 | 4 | |||||
Давайте разберёмся с undef. Вот набросал второй пример
Код
1..10 Use of uninitialized value $znachenie in numeric eq (==) at testmore2.pl line 9. not ok 1 - $znachenie ravno 5 # Failed test '$znachenie ravno 5' # at testmore2.pl line 9. Use of uninitialized value $znachenie in string eq at testmore2.pl line 10. not ok 2 - $znachenie eq '5' # Failed test '$znachenie eq '5'' # at testmore2.pl line 10. not ok 3 - $znachenie defined # Failed test '$znachenie defined' # at testmore2.pl line 11. not ok 4 - testerion $znachenie 5 # Failed test 'testerion $znachenie 5' # at testmore2.pl line 13. # +---+-------+----------+ # | Ln|Got |Expected | # +---+-------+----------+ # * 1|undef |5 * # +---+-------+----------+ ok 5 - testerion $znachenie undef ok 6 - $znachenie ravno 5 ok 7 - $znachenie eq '5' ok 8 - $znachenie defined ok 9 - testerion $znachenie 5 not ok 10 - testerion $znachenie undef # Failed test 'testerion $znachenie undef' # at testmore2.pl line 23. # +---+-----+----------+ # | Ln|Got |Expected | # +---+-----+----------+ # * 1|5 |undef * # +---+-----+----------+ # Looks like you failed 5 tests of 10.
1
|
01.07.2013, 22:05 | |
01.07.2013, 22:05 | |
Помогаю со студенческими работами здесь
4
Unit-тест для проверки текста в файле [JUnit 4] Тест для проверки валидатора email Разработать тест для проверки знаний по выбранной теме Программа тест для проверки знаний, может есть у кого? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |