Mamy napisane parsery dla różnych formatów danych naukowych w Perlu. Ostatnio dodałem zestaw testów z plikiem parser_*.t
dla każdego formatu i podformularza.Jak zaplanować dodatkowe testy prowadzone przez zewnętrzny sub?
Oczywiście interfejs API parserów jest dokładnie taki sam, tylko dane z plików przykładowych, które są używane do testowania, są różne. Aby uprościć pliki testowe, napisałem sub, który przekazuje obiekt analizatora składni i strukturę mieszającą reprezentującą oczekiwane dane. Wygląda na to,
my $parser = new MyApp::Parser($file);
test_nested_objects = ($parser, {
property1 => "value",
property2 => 123,
subobject_accessor => {
property3 => "foobar",
}
}
sub test_nested_objects
spacery mieszania i testuje na wszystkie właściwości określone w mieszania, np jeśli można wywołać subobject_accessor
, zwraca obiekt i ten obiekt można nazwać property3
.
Sprawdziłem, ile testów jest przeprowadzanych przez cały plik *.t
i dodano tests => 123
do wszystkich plików *.t
. Teraz dodałem kilka kontroli do funkcji ogólnej i wszystkie plany są błędne.
Jak uczynić mój plan świadomym podtestów? Chciałbym, aby osiągnąć następujące:
- liczby badań podanych przed uruchomieniem ich do widzenia progess
- łączna liczba wzrosła automatycznie → bez zmiany numerów ręcznie podczas edycji SUB
- indywidualnych testów w sub visible, gdy działasz, udowadniaj (ukrywanie testów w sub i zwracanie tylko 0 lub 1 jest niedopuszczalne, ponieważ naprawdę muszę wiedzieć, co jest nie tak z przeanalizowanymi danymi)
Mam nadzieję, że rozumiesz. Przepraszam za długą historię, ale myślałem, że ludzie prawdopodobnie nie zrozumieją bez wiedzy w tle.