Там польза является автоматизированными наборами тестов для Perl? [закрытый]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

9
задан brian d foy 21 November 2008 в 23:22
поделиться

14 ответов

Это действительно зависит от того, что Вы пытаетесь сделать, но вот некоторый фон для большой части этого.

Во-первых, Вы обычно писали бы свои тестовые программы с Тестом:: Больше или Тест:: Простой как базовая программа тестирования:

use Test::More tests => 2;

is 3, 3, 'basic equality should work';
ok !0, '... and zero should be false';

Внутренне, Тест:: Разработчика звонят для вывода тех результатов испытаний как TAP (Тест Что-либо Протокол). Тест:: Ремень безопасности (тонкая обертка вокруг TAP:: Ремень безопасности), чтения и интерпретирует TAP, говоря Вам, если Ваши тесты передали или перестали работать. "Доказать" упомянутый выше инструмент связывается Тестом:: Ремень безопасности, настолько скажем, которые сохраняют вышеупомянутое в t/каталоге (стандартный каталог тестирования Perl) как "numbers.t", затем можно выполнить его с этой командой:

prove --verbose t/numbers.t

Или запускать все тесты в том каталоге (рекурсивно, принимая Вас хотят убывать в подкаталоги):

prove --verbose -r t/

(-подробный, конечно, является дополнительным).

Как примечание стороны, не используйте TestUnit. Многие люди рекомендуют это, но от этого отказались давным-давно и не интегрируется с современными инструментами тестирования.

24
ответ дан 4 December 2019 в 06:00
поделиться

На данный момент мы используем Тест:: Больше, но текущая проблема - то, что мы должны выполнить все тестовые файлы вручную для тестирования. То, что я ищу, является больше автоматизированной платформы, которая может сделать возрастающие проверки тестирования/сборки и т.д.

Обертка вокруг Теста:: Больше для этого было бы идеально, но что-либо лучше и более функциональный будет прекрасно также.

Я прохожу PerlUnit, чтобы видеть, помогает ли это.

0
ответ дан 4 December 2019 в 06:00
поделиться

Поскольку автоматизированное тестирование в жемчуге смотрит на Тест:: Ремень безопасности, который содержит prove инструмент.

prove инструмент может быть выполнен со следующей командой:

prove -r -Ilib t

Этот будет recursivly протестировать все *.t файлы в 't /' каталог, при добавлении lib к включать пути.

0
ответ дан 4 December 2019 в 06:00
поделиться

Вы знающий о 'доказать' утилите (из Приложения:: Докажите)? Можно сказать этому запускать все тесты рекурсивно в данном каталоге, с или без многословия, и т.д.

0
ответ дан 4 December 2019 в 06:00
поделиться

Я пошел бы для Теста:: Больше, или в целом, что-либо это производит TAP

0
ответ дан 4 December 2019 в 06:00
поделиться

Предпочтительная платформа набора тестов является Тестом:: Ремень безопасности, который заботится об управлении тестовым прогоном, сборе результатов, и т.д.

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

Условно, тесты хранятся в t/каталоге проекта, и каждый тестовый файл использует расширение файла.t; тесты обычно запускаются через

 prove t/*.t

Дистрибутивы модуля обычно включают сделать цель, названную 'тестом', который выполняет набор тестов перед установкой. По умолчанию процесс установки CPAN требует, чтобы тестовая передача после сборки перед модулем была установлена.

1
ответ дан 4 December 2019 в 06:00
поделиться

Лично, мне нравится Тест:: Большинство, в основном Тест:: Больше с некоторыми добавленными замечательными опциями.

1
ответ дан 4 December 2019 в 06:00
поделиться

Вы сказали:

"Что я ищу, больше автоматизированной платформы, которая может сделать возрастающие проверки тестирования/сборки и т.д."

Все еще совершенно уверенный, что Вы после. Поскольку другие упомянули, что Вы хотите посмотреть на вещи, которые основаны на Тесте:: ремень безопасности/TAP. Подавляющее большинство сообщества тестирования Perl использует ту платформу - таким образом, Вы получите намного больше поддержки (и полезный существующий код) при помощи этого.

Можно ли говорить немного больше о том, что Вы подразумеваете "под возрастающими проверками тестирования/сборки"?

Я предполагаю, что Вы хотите разделить свои тесты на группы так, чтобы Вы только выполнили определенные наборы тестов при определенных обстоятельствах?

Существует несколько способов сделать это. Самое простое должно было бы просто использовать файловую систему - разделяет Ваши тестовые каталоги, таким образом, у Вас есть вещи как:


core/
 database.t
 infrastructure.t
style/
  percritic.t
ui/
  something.t
  something-else.t

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

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

(BTW важно получить последнюю версию Теста:: простой/доказывать/и т.д. от CPAN. Последние версии имеют много, намного больше функциональности).

Если Вы имеете мышление OO или имеете предыдущий опыт xUnit платформ, чем Вы могли бы хотеть смотреть на Тест:: Класс, который является платформой Perl xUnit, это - сборка сверху TAP/теста:: уровень Harness. Я думаю, что это довольно много лучше, чем PerlUnit - но я сказал бы это, так как я записал это :-)

Выезд, восхитительный еще для некоторой информации о Тесте:: Класс http://delicious.com/tag/Test::Class

Если это не то, что Вы, после - Вы могли вдаваться в немного большее количество подробностей о том, какую функциональность Вы хотите?

Удачи,

Adrian

2
ответ дан 4 December 2019 в 06:00
поделиться

Если Вы используете ExtUtils:: MakeMaker или Модуль:: Сборка, затем можно запустить все тесты автоматически путем ввода команды, "делают тест", или "Создают тест", который выполнит любые *.t файлы в t/подпапке проекта.

Если Вы не используете ни один из них, то можно использовать TAP:: Ремень безопасности для автоматизации выполнения нескольких сценариев тестирования.

Для фактической записи тестов используйте Тест:: Больше или любой из модулей, которые другие предложили здесь.

2
ответ дан 4 December 2019 в 06:00
поделиться

Если я понимаю Вас правильно, Вы ищете TAP:: Ремень безопасности

2
ответ дан 4 December 2019 в 06:00
поделиться

мы должны выполнить все тестовые файлы вручную для тестирования

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

2
ответ дан 4 December 2019 в 06:00
поделиться

Проверьте Тестеры CPAN, которые имеют много инструментов для автоматизированного тестирования. Большая часть из этого должна быть на CPAN, таким образом, Вы сможете изменить его для удовлетворения потребностей. Также очень легко записать Вашему собственному тестеру, использующему TAP:: Ремень безопасности.

Что точно необходимо сделать и как Вы пытаетесь вместить его в свой процесс?

9
ответ дан 4 December 2019 в 06:00
поделиться

Пока Вы используете тесты, которые производят TAP (Тест Что-либо Протокол) производит Вас, мог бы найти, что это было полезно: http://sourceforge.net/projects/smolder

5
ответ дан 4 December 2019 в 06:00
поделиться

Посмотрите, что Вы тлеете?

"Агрегатор испытания с помощью дыма раньше разработчиками и тестерами загружает (автоматизированный или вручную) и дым/регрессионные тесты представления с помощью Теста Что-либо Протокол. Детали и тенденции изображаются в виде графика и уведомления, предоставленные по электронной почте или Atom-ленты".

5
ответ дан 4 December 2019 в 06:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: