Testy

Testowanie jednostkowe szablonów niestandardowych w Menedżerze tagów Google pomaga sprawdzać ich działanie. Dla każdego szablonu możesz utworzyć zestaw testów, które możesz przeprowadzać bez wdrażania tagu. Dzięki temu możesz stale testować działanie szablonu podczas jego tworzenia. Każdy test może zawierać przykładowe wartości wejściowe, fałszywe wywołania funkcji i wyrażanie działania kodu.

Ograniczenia

  • Testy jednostkowe nie sprawdzają reguł weryfikacji, ale możesz ręcznie sprawdzić ich poprawność za pomocą przycisku Uruchom kod.
  • Testy uprawnień nie są przeprowadzane w próbnych interfejsach API.

Z tego przewodnika dowiesz się, jak napisać testy jednostkowe szablonu niestandardowego. Ten przykład tworzy szablon zmiennej, który pobiera ciąg znaków i zwraca wersję tego ciągu wielkimi literami.

  1. Utwórz nowy szablon zmiennej. W panelu nawigacyjnym po lewej stronie kliknij Szablony, a potem w sekcji Szablony zmiennych kliknij Nowy.

  2. Kliknij Pola.

  3. Kliknij Dodaj pole i wybierz Wpisywanie tekstu. Nazwij pole text1 i wybierz wyświetlaną nazwę „Tekst 1”.

  4. Na karcie Kod zastąp domyślny kod tym piaskownicą JavaScript w trybie piaskownicy:

    let input = data.text1;
    return input.toUpperCase();
    
  5. Kliknij Testy, aby otworzyć kartę Testy.

  6. Kliknij Dodaj test i zmień jego nazwę z „Test bez tytułu 1” na „Ciągi tekstowe”.

  7. Kliknij ikonę rozwijania (), aby otworzyć edytor JavaScript w trybie piaskownicy. Zastąp ten kod JavaScript w trybie piaskownicy:

    // Call runCode to run the template's code with a lowercase string
    let variableResult = runCode({text1: 'this is a test'});
    // Validate that the result of runCode is an uppercase string.
    assertThat(variableResult).isEqualTo('THIS IS A TEST');
    

    Ten test przekazuje ciąg 'this is a test' do zmiennej i sprawdza, czy zmienna zwraca oczekiwaną wartość 'THIS IS A TEST'. Interfejs runCode API służy do uruchamiania kodu szablonu na karcie Kod. Argument runCode jest obiektem używanym jako dane globalne. Interfejs API assertThat zwraca obiekt, którego można używać do płynnego podawania wartości obiektu.

  8. Kliknij ▶ Uruchom testy, aby przeprowadzić test. Wynik testu pojawi się w Konsoli.

    Przycisk ▶ Uruchom testy służy do uruchamiania wszystkich aktywnych testów w szablonie w podanej kolejności. Aby zmienić kolejność, użyj ikony przeciągania ⠿. Test można tymczasowo włączyć lub wyłączyć, klikając okrąg po lewej stronie nazwy testu. Aby przeprowadzić jeden test, kliknij przycisk ▶ wyświetlany po najechaniu kursorem na test.

    Konsola powinna wyświetlić informacje o łącznej liczbie przeprowadzonych testów i o liczbie nieudanych testów. W tym przypadku przeprowadzono tylko 1 test, który powinien zakończyć się powodzeniem.

  9. Ponownie kliknij Dodaj test, aby dodać drugi test. Zmień nazwę testu z „Test bez tytułu 2” na „Nieokreślone nicki”.

  10. Kliknij test, aby go rozwinąć i wyświetlić edytor JavaScript w trybie piaskownicy. Wpisz w edytorze kod JavaScript w trybie piaskownicy:

    let variableResult = runCode({});
    assertThat(variableResult).isEqualTo(undefined);
    
  11. Kliknij ▶ Uruchom testy, aby uruchomić wszystkie testy naraz. Wynik testu pojawi się w konsoli.

    Test nosów nieokreślonych powinien zakończyć się niepowodzeniem. Gratulacje! Udało Ci się znaleźć błąd.

  12. Kliknij Kod, aby wrócić do edytowania kodu JavaScript w trybie piaskownicy. Zaktualizuj kod JavaScript w trybie piaskownicy w ten sposób:

    const getType = require('getType');
    
    let input = data.text1;
    if (getType(input) !== 'string') {
      return input;
    }
    return input.toUpperCase();
    

    Zaktualizowany kod jest zgodny ze sprawdzonymi metodami sprawdzania zmiennej input przed jej użyciem.

  13. Kliknij Testy, aby wrócić do listy przypadków testowych.

  14. Kliknij ▶ Uruchom testy, aby ponownie uruchomić wszystkie przypadki testowe. W tym czasie test nieokreślonych nicków powinien zakończyć się powodzeniem.

  15. Kliknij Zapisz i zamknij Edytor szablonów.