Beste antwoord
De testrunner is iets waarmee we onze tests kunnen uitvoeren. Jasmine en voeg gewoon een testrunner en hun bibliotheek toe en dan heeft MOCA ook een eigen testrunner. Een testrunner kan tests in een andere omgeving uitvoeren. Als de test in de browser op is, kost het te veel tijd en in dit scenario kunnen we een tool gebruiken waarmee we graag met poppenspeler van Google willen werken, wat een headless browser wordt genoemd. Het is een knooppuntbibliotheek die een hoogwaardige API biedt om de headless-versie van hun browser te beheren. Het kan ook worden geconfigureerd om dingen te doen zoals het genereren van schermafbeeldingen PDX van paginas waarmee het formulierinzendingen kan automatiseren. ook UI-testen ermee.
Antwoord
Een testharnas maakt deel uit van het raamwerk dat de resultaten van tests verzamelt en een testrunner voert enkele tests uit.
Van een testharnas wordt verwacht dat hij de semantiek van de resultaten van de test begrijpt. Met andere woorden, de meeste harnassen zouden begrijpen dat Alle tests zijn geslaagd of 32 tests zijn overgeslagen , terwijl een testloper dingen voor me heeft gedaan zoals Voer alle tests uit die met regressie zijn gemarkeerd of Voer alle tests uit die verband houden met het Binder-object
Toen ik aan mijn perl-framework werkte voor een vorige werkgever, heb ik een testrunner gemaakt die tests uitkoos en ze vervolgens doorgaf aan het testharnas om te rennen, dat hen semantisch vertelde of ik rood of groen was voor mijn rood / groen testen. Dit was in perl, en Test :: Harnas is een kernobject dat ik als harnas heb gebruikt. Deze module is sindsdien vervangen door TAP :: Harness , maar niet in een versie die ik gebruik. De standaard perl-testrunner wordt proof genoemd, maar ik schreef mijn eigen testprogramma omdat het iets speciaals over mijn framework moest begrijpen. In het bijzonder veranderen de bestanden van locatie met de framework-versie, zodat alle bestanden in dezelfde versie bij elkaar worden gehouden en aan elkaar worden gekoppeld, maar meerdere versies van het framework moesten worden ondersteund, maar konden niet in hetzelfde script verschijnen.