Planuj i automatyzuj przepływy pracy testów za pomocą trybów Plan i Agent

Ukończone

W poprzedniej lekcji użyto trybu agenta do wygenerowania testów na podstawie pojedynczego polecenia w widoku czatu. Większe zadania testowe często wymagają większej struktury: decydowanie o tym, co należy przetestować, utworzyć szkielet projektu testowego, wygenerować testy w kilku plikach i uruchomić wynikowy pakiet. Agent Plan i dłuższe sesje Agenta w widoku Czat są przeznaczone do pracy na tym poziomie. Użyj agenta planu, aby zaprojektować strategię testowania przed napisaniem jakiegokolwiek kodu, a następnie przekaż zatwierdzony plan agentowi na potrzeby autonomicznej, wieloetapowej implementacji.

Porównaj agentów Ask, Plan i Agent

Widok czatu oferuje trzech wbudowanych agentów lokalnych. Każdy z nich jest zoptymalizowany pod kątem innego typu zadania testowego.

Agent Najlepsze dla Typowe zastosowanie w testach jednostkowych
Zapytaj Analiza tylko do odczytu oraz pytania i odpowiedzi dotyczące Twojego kodu Poznaj przypadki brzegowe, opcje struktury lub przykładowe testy przed napisaniem jakiegokolwiek kodu.
Planowanie Usystematyzowane plany wdrożenia krok po kroku Zaprojektuj strategię testowania obejmującego wiele plików, którą można przejrzeć przed wdrożeniem.
Agent Autonomiczne przepływy pracy kodowania w wielu plikach Generuj testy bezpośrednio do projektu testowego, uruchamiaj je i wprowadzaj poprawki po niepowodzeniach.

Wybierz agenta, wybierając go z selektora agentów w widoku Czat. Agentów można przełączać w dowolnym momencie podczas sesji.

Important

Jeśli używasz widoku Czat z agentem, GitHub Copilot może wysyłać wiele żądań premium do wykonania jednego zadania. Żądania Premium są wykorzystywane zarówno przez polecenia inicjowane przez użytkownika, jak i przez działania następcze podejmowane przez agenta w twoim imieniu. Łączna liczba użytych żądań premium zależy od złożoności zadania, liczby kroków i wybranego modelu.

Użyj agenta Plan, aby opracować strategię testowania

Agent planu tworzy szczegółowy plan implementacji przed napisaniem jakiegokolwiek kodu. Agent bada zadanie, zadaje wyjaśnienie pytań i proponuje plan krok po kroku, który można przejrzeć, udoskonalić i przekazać agentowi.

Aby zaplanować zestaw testów jednostkowych:

  1. Otwórz plik lub pliki zawierające kod, który chcesz przetestować.

  2. Otwórz widok Czat i wybierz pozycję Plan z selektora agentów. Możesz też wpisać /plan, a następnie opis zadania.

  3. Wprowadź monit opisujący testy, które chcesz utworzyć. Przykład:

    I need unit tests for the methods in the Calculator class. Use xUnit. Include tests for success, failure, and boundary conditions. Place the new tests in the Calculator.Tests project.

  4. Odpowiedz na wszelkie pytania wyjaśniające.

    Agent planu może zapytać o preferencje struktury testów, konwencje nazewnictwa lub sposób obsługi zależności przed opracowaniem planu.

  5. Przejrzyj proponowany plan.

    Plan zazwyczaj zawiera ogólne podsumowanie, podział kroków, kroki weryfikacji dotyczące uruchamiania testów i udokumentowane decyzje. Iteruj z agentem Plan, dopóki plan nie będzie odzwierciedlał tego, co chcesz zbudować.

  6. Przekaż plan wdrożenia.

    Po zakończeniu planu wybierz opcję rozpoczęcia implementacji. Plan można zaimplementować w tej samej sesji czatu lub rozpocząć sesję w tle lub w chmurze, aby pracować autonomicznie nad implementacją. Możesz również otworzyć plan w edytorze w celu dalszego przejrzenia.

Agent planu jest szczególnie przydatny, gdy zadanie testowe obejmuje wiele plików, wymaga nowych klas testowych lub urządzeń albo musi być zgodne z konwencjami zespołu, które nie zostały jeszcze przechwycone w instrukcjach.

Automatyzowanie przepływów pracy testowych przy użyciu agenta

Agent automatyzuje zadania wieloetapowe w obszarze roboczym. W przypadku testów jednostkowych można użyć agenta do tworzenia szkieletu projektu testowego, tworzenia plików testowych, uruchamiania wynikowych testów, generowania raportów testów lub rozwiązywania problemów, które występują podczas przebiegu testu.

Aby użyć agenta do utworzenia i uruchomienia testów jednostkowych:

  1. Otwórz plik zawierający kod, który chcesz przetestować.

  2. Otwórz widok Czat i wybierz pozycję Agent z selektora agenta.

  3. Pozwól agentowi określić kontekst.

    Gdy używasz agenta, GitHub Copilot automatycznie identyfikuje odpowiednie pliki. Możesz również dołączyć dodatkowy kontekst za pomocą przycisku Dodaj kontekst lub przeciągając pliki do widoku czatu.

  4. Opcjonalnie wybierz ikonę Narzędzia , aby wybrać narzędzia, których agent może używać dla zadania.

    Przydatne narzędzia do testowania zadań obejmują narzędzia do edycji plików, narzędzie terminalowe do uruchamiania dotnet testi wszystkie narzędzia testowe dostarczane przez rozszerzenie.

  5. Wprowadź monit definiujący zadanie. Przykład:

    Ensure that a suitable unit test project is prepared for the selected code file. Create a test file in the unit test project that includes unit tests for all methods in the selected file. Unit tests should be written in C# and use the xUnit framework. Run the tests to ensure expected results.

  6. Obserwuj agenta podczas jego pracy.

    • Potwierdź lub odrzuć wywołania narzędzia i polecenia terminalu sugerowane przez agenta. Możesz na przykład potwierdzić polecenie, aby uruchomić testy lub wygenerować raport testowy.
    • Przerwij agenta, jeśli musisz zmienić kontekst, przełączyć narzędzia lub dostosować zakres zadania.
  7. Przejrzyj pliki utworzone lub zaktualizowane przez agenta, a następnie zachowaj lub odrzuć zmiany.

    W razie potrzeby użyj dodatkowych monitów, aby doprecyzować konkretne testy.

Zdecyduj, kiedy używać planu, agenta lub obu

Skorzystaj z poniższych wskazówek, aby wybrać między agentami:

  • Najpierw należy użyć agenta planu , gdy praca testowa obejmuje niejednoznaczność, wiele plików lub konwencje zespołu, które należy potwierdzić. Plan staje się kontraktem, który można przejrzeć przed napisaniem jakiegokolwiek kodu.
  • Użyj agenta bezpośrednio, gdy zadanie jest dobrze zdefiniowane i chcesz, aby GitHub Copilot przygotował szkielet, wygenerował i uruchomił testy bez pośredniego etapu planowania.
  • Użyj opcji Plan, a następnie przekaż do Agenta, gdy chcesz uzyskać plan do przejrzenia oraz autonomiczną realizację. Ta kombinacja zapewnia największą kontrolę nad zakresem, jednocześnie automatyzując pracę.