Testy integracyjne
Katalog tests
Testy integracyjne to bezpłatna lekcja Learn Rust Coding na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn Rust Coding, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn Rust Coding zawiera 4 lekcji w sumie.
Czym są testy integracyjne?
Testy integracyjne sprawdzają publiczne API pakietu tak, jak zrobiłby to użytkownik zewnętrzny. Znajdują się poza katalogiem src i mogą wywoływać tylko elementy publiczne.
Katalog tests
Cargo traktuje każdy plik w katalogu najwyższego poziomu tests/ jako osobny pakiet testowy. Nie trzeba tam używać modułu #[cfg(test)].
tests/api.rstests/parsing.rs
Biblioteka do testowania
Testy integracyjne dotyczą pakietu bibliotecznego. Załóżmy, że plik src/lib.rs udostępnia funkcję publiczną.
// src/lib.rs
pub fn add(a: i32, b: i32) -> i32 {
a + b
}Pisanie testu integracyjnego
W pliku tests/add.rs zaimportuj pakiet po nazwie i przetestuj jego publiczne API. Każda funkcja nadal korzysta z #[test].
// tests/add.rs
use my_lib::add;
#[test]
fn adds_two_numbers() {
assert_eq!(add(2, 2), 4);
}Tylko elementy publiczne
Ponieważ testy integracyjne są osobnym pakietem, mogą używać wyłącznie elementów publicznych (pub). Funkcje prywatne są niewidoczne — tak samo jak dla każdego rzeczywistego użytkownika pakietu.
Uruchamianie testów integracyjnych
cargo test uruchamia razem testy jednostkowe i integracyjne. Każdy plik w katalogu tests/ pojawia się w danych wyjściowych jako osobny plik binarny testów.
cargo testUruchamianie jednego pliku
Użyj opcji --test wraz z nazwą pliku (bez rozszerzenia), aby uruchomić pojedynczy plik testów integracyjnych.
cargo test --test addWspólne narzędzia testowe
Aby współdzielić kod przygotowujący środowisko bez tworzenia pliku testowego, umieść narzędzia w tests/common/mod.rs. Pliki w podkatalogach nie są traktowane jako pakiety testowe.
// tests/common/mod.rs
pub fn setup() {
// shared setup logic
}Korzystanie z narzędzia pomocniczego
Zadeklaruj moduł i wywołaj jego funkcje z testu integracyjnego.
// tests/api.rs
mod common;
#[test]
fn uses_setup() {
common::setup();
assert!(true);
}Testy jednostkowe a integracyjne
Dwa uzupełniające się style testowania:
- Testy jednostkowe znajdują się w
src, mogą testować elementy prywatne i są szybkie oraz skoncentrowane - Testy integracyjne znajdują się w
tests/i sprawdzają publiczne API od początku do końca
Testowanie pakietu binarnego
Testy integracyjne dotyczą bibliotek, a nie pakietów binarnych. Często logikę umieszcza się w src/lib.rs, a w src/main.rs pozostawia cienką warstwę wywołującą tę logikę, dzięki czemu zarówno testy jednostkowe, jak i integracyjne mogą uzyskać do niej dostęp.
// src/main.rs
fn main() {
println!("{}", my_lib::add(2, 3));
}Szybkie sprawdzenie
Gdzie znajdują się testy integracyjne i do czego mają dostęp?
Podsumowanie
Dowiedziałeś się o testowaniu integracyjnym:
- Pliki w katalogu
tests/są osobnymi pakietami testowymi - Importują pakiet po nazwie i testują tylko elementy publiczne
cargo test --test nameuruchamia jeden plik- Wspólne narzędzia pomocnicze umieszcza się w
tests/common/mod.rs
Często zadawane pytania
Czy lekcja „Testy integracyjne” jest bezpłatna?
Tak — pełny tekst „Testy integracyjne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn Rust Coding, przejdź na CoddyKit PRO. Kurs Learn Rust Coding zawiera 4 lekcji w sumie.
Co nauczysz się w „Testy integracyjne”?
Katalog tests Ćwiczysz Learn Rust Coding z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn Rust Coding?
Nie wymagamy żadnego doświadczenia. Learn Rust Coding w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Testy integracyjne”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn Rust Coding?
Tak. Każda lekcja Learn Rust Coding zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Testy jednostkowe
- Testy integracyjne
- Komentarze dokumentacyjne
- Testy dokumentacji