Tesults - Integracja automatycznych testów
Tesults udostępnia biblioteki do integracji dla różnych języków, w tym -
- Python
- Node.js / JS
- Java
- C#
- Ruby
- Go
Dostępny jest również REST API. Aby przesłać dane i pliki wygenerowane przez test, należy użyć jednej z bibliotek.
Brak integracji kodu
W przypadku niektórych struktur testowych możliwa jest integracja bez żadnego kodu przy użyciu dostępnych bibliotek specyficznych dla platformy testowej.
Struktury testowe nie wymagające integracji kodu obejmują -
- pytest
- Robot
- Jest
- Mocha
- JUnit5
- NUnit 3
Proces integracji jest podobny dla wszystkich tych bibliotek.
Zainstaluj wtyczkę
W ramach projektu testowego zainstaluj odpowiednią wtyczkę Tesults. Na przykład, jeśli używasz pytest, jest to wykonywane za pomocą‘pip install tesults’ śledzony przez ‘pip install pytest-tesults’. Jeśli używasz Mocha, używasz‘npm install mocha-tesults-reporter – save’. Zobacz odpowiednie polecenie dla swojej platformy testowej na stronie internetowej Tesults.
Skonfiguruj wtyczkę
Niektóre wtyczki nie wymagają konfiguracji i są gotowe do natychmiastowego użycia, inne wymagają niewielkiej konfiguracji. Na przykład w przypadku pytest nie jest wymagana żadna dodatkowa konfiguracja i jest gotowy do użycia.
W przypadku Mocha potrzebna jest niewielka zmiana w ‘mocha’ wezwanie, w szczególności należy określić zgłaszającego, ‘mocha --reporter mocha-tesults-reporter’. Zobacz witrynę internetową Tesults, aby uzyskać informacje na temat konkretnej konfiguracji używanej platformy, ale ogólnie konfiguracja jest zmianą w jednym wierszu lub bez zmian.
Podaj Args
Istnieje wymagany argument, który należy przekazać do wtyczki i inne opcjonalne argumenty. Wymaganym argumentem jest dostarczenie tokena docelowego Tesults. Ten token został wygenerowany podczas tworzenia projektu dla domyślnego celu na poprzedniej stronie samouczka. Możesz otrzymać nowy token, jeśli go nie masz, z menu konfiguracji w Tesults. Kliknij‘Regenerate Target Token’ w menu konfiguracji.
Sposób przekazania argumentu zależy od platformy testowej i wtyczki. Na przykład w pytest można to podać w wywołaniu pytest‘pytest --tesults-target token_value’lub używając pliku konfiguracyjnego. W przypadku mokki jest podobnie, można ją przepuścić w mokce zwanej‘mocha * --reporter mocha-tesults-reporter -- tesults-target=token’ lub można go przekazać w pliku konfiguracyjnym.
Token docelowy jest jedynym wymaganym argumentem, istnieją opcjonalne argumenty do przekazywania informacji o kompilacji i przesyłania plików. Zobacz witrynę Tesults, aby uzyskać szczegółowe informacje na temat argumentów dla Twojej platformy testowej.
Uruchom testy
Uruchom testy, a wyniki zostaną przesłane do Tesults.
Integracja kodu
Jeśli używasz niestandardowego środowiska testowego lub struktury testowej, dla której Tesults nie ma określonej biblioteki lub wtyczki, musisz skorzystać z jednej z platform językowych.
W tym miejscu przyjrzymy się, na czym polega integracja w Pythonie. Inne języki mają bardzo podobne procesy integracji, odwiedź witrynę internetową Tesults, aby uzyskać szczegółowe informacje na temat swojego języka programowania, ale najpierw postępuj zgodnie z tym samouczkiem, aby zorientować się w procesie -
Zainstaluj bibliotekę
W przypadku Pythona następujące polecenie to -
pip install tesults
W przypadku innych języków proces jest podobny, w przypadku struktur testowych JS instalujesz bibliotekę z npm, w przypadku Javy możesz użyć Gradle lub Maven, dla C # pakiety są hostowane w NuGet, a Ruby ma ją dostępną jako klejnot.
Konfiguruj bibliotekę
W przypadku Pythona konfiguracja obejmuje tylko plik require ‘tesults’w dowolnym module, z którego chcesz korzystać z biblioteki. Ponownie, podobna konfiguracja jest potrzebna w innych językach. Zobacz stronę internetową Tesults, aby zapoznać się z konkretną konfiguracją dla Twojego języka programowania.
Mapuj dane testowe
Ten krok jest czymś, czego wtyczki bez kodu pozwalają uniknąć. W przypadku integracji opartej na kodzie należy zmapować dane testowe na dane testowe Tesults.
W przypadku Pythona oznacza to przekształcenie każdego wyniku testu w słownik Pythona -
{
'name': 'Tutorial 1',
'desc':'Tutorial 1 .',
'suite': 'Tutorials Point',
'result': 'fail',
'reason': 'Assert fail in line 102, tutorialspoint.py',
'files': ['full-path/log.txt', 'full-path/screencapture.png'],
'_CustomField': 'Custom field value'
}
Nazwa i wynik są wymagane. Wszystko inne jest opcjonalne. Wynik musi być jednym z‘pass’, ‘fail’lub „nieznane”.
Pakiet jest przydatny, ponieważ pomaga grupować przypadki testowe podczas przeglądania wyników i pomaga uniknąć konfliktów nazw. Należy podać przyczynę niepowodzenia przypadków testowych.
Pliki są przydatne do zapewnienia przechowywania dzienników i innych plików testowych i można je przeglądać razem z przypadkiem testowym, dla którego są przeznaczone.
Możesz także mieć dowolną liczbę pól niestandardowych; muszą zaczynać się od znaku podkreślenia (_). Dla każdego przypadku testowego utwórz słownik w ten sposób i zapisz go w tablicy.
Prześlij wyniki
Aby przesłać wyniki, każda biblioteka udostępnia funkcję przesyłania wyników. W przypadku Pythona musisz wywołać następujące -
tesults.results(data)
gdzie występuje parametr danych -
data = {
‘target’: ‘token’,
‘results’: {
‘cases’: [<your test cases>]
}
}
Tablica przypadków to tablica utworzona w powyższej sekcji.
W przypadku innych języków programowania proces przebiega dokładnie tak samo, tylko ze zmianami składni.
Wsparcie
Na stronie Tesults można poprosić o pomoc dotyczącą integracji, jeśli jej potrzebujesz.
Następne kroki
W tym momencie integracja jest zakończona i możemy przyjrzeć się, jak przeglądać, analizować i podejmować działania na podstawie wyników testów.