2010-12-27 3 views
4

Я написал несколько тестов, используя Caliper. Как я могу запустить сразу несколько тестов? В настоящее время у меня много классов, которые расширяют SimpleBenchmark и имеют несколько методов timeXXX. Можно ли запускать все это одновременно?Калибр: как запустить несколько эталонных тестов?

SimpleBenchmark's javadocs говорят:

эталоны из набора определяются. Они могут быть статическими. Им не разрешено принимать параметры. , ..

Ух, что? Это выглядит неполным.

Caliper's mailing list говорит, что это не для Q & A, и задать вопрос здесь с тегом «суппорт». Тем не менее, я вижу нулевые сообщения SO с этим тегом! Поскольку у меня еще нет репутации 1500, я не могу создать новый тег.

Use case: Существует только один метод setUp/tearDown. У меня много тестов в моем классе тестов, каждый из которых выделяет много памяти. В настоящее время я должен использовать гигантскую кучу, которая только увеличивается, поскольку я добавляю больше тестов. Кроме того, многие тесты в одном файле несколько неудобны для поддержания. Было бы неплохо указать несколько эталонных классов и все тесты в каждом из них будут считаться одним прогоном.

+0

с пометкой "суппорт" –

ответ

1

Нет. Нет встроенного механизма для запуска несвязанных тестов как набора. Вы можете выполнить это с помощью простого сценария оболочки:

#!/bin/bash 
echo $* | xargs -n 1 $CALIPER_HOME/caliper 

Каков ваш прецедент? Мы хотели бы иметь лучшую поддержку для запуска тестов в Hudson и т. Д .; мы надеемся, что мы сможем это скоро собрать.

+0

Добавлен случай использования к вопросу. – NateS

+0

Что касается вашего варианта использования, вам может быть лучше определить каждую стратегию с помощью перечисления @Param вместо отдельного метода time(). –

+0

Каждый раз() метод тестирует другой класс. Я сравниваю многие реализации карт (они не все реализуют общий интерфейс). – NateS