Na Jasmine website widzę, że możemy wyłączyć pakiety przez xdescribe
lub indywidualne specyfikacje przez xit
. Czy istnieje sposób wyłączenia tylko oczekiwania (np. xexpect
)?Wyłącz oczekiwanie Jasmine, jak xdescribe lub xit?
Powodem, dla którego o to pytam, jest to, że piszę testy e2e z Kątnikiem iw naszej ciągłej integracji nie mamy jeszcze (jeśli w ogóle) dostępu do bazy danych, chociaż lokalnie możemy uruchomić naprawdę testy końcowe z dostępem do bazy danych, na przykład.
Chciałbym zaznaczyć indywidualne oczekiwania jako opcjonalne, w zależności od konfiguracji lub zmiennej środowiskowej. Byłoby miło zrobić przełącznik raz, a następnie utworzyć wrapper w oczekiwaniu, który kończy się niepowodzeniem, jeśli przeprowadzamy testy lokalnie (z dostępem do bazy danych).
Tak na przykład można utworzyć nową niespełniającego Rodzina:
if (process.env.DB_AVAILABLE) {
dbit = it;
} else {
dbit = xit;
}
i pisać specyfikacje, które zależą od połączenia z bazą danych w następujący sposób:
dbit('creates new user', function() {});
Czy istnieje sposób, aby zrobić to samo z expect
(np. dbexpect
)?
Jeśli jest coś fundamentalnie nie tak z moim podejściem, nie zatrzymuj go i daj mi znać.
Nie wiesz o poprzedzenie go do 'expect' rachunku - ale możesz ewentualnie użyć 'browser.getProcessedConfig()' i sprawdzić 'seleniumAddress' i zrobić warunkowe' oczekiwać' (zakładając, że masz 2 konfiguracje, jedną dla lokalnego i jedną dla serwera CI). 'if (local) {expect (true) .toBe (true)} else {spodziewać (false) .toBe (false)}' ... ale może to być kosztowne, jeśli robisz to w wielu miejscach. – Gunderson
Również nigdy nie myślałem o zmianie 'to' na zmienną opartą na środowisku ... dzięki za to :) – Gunderson
Dziękuję. Tak, myślałem o tym, ale szukałem czystego rozwiązania –