Rust ტესტების ანალიტიკა
Tuist აგზავნის ინდივიდუალურ ტესტების შედეგებს cargo test-დან, მათ შორის ერთეულოვანი ტესტები, ინტეგრაციული ტესტები და doctests. Rust დამოკიდებულება ან დამატებითი ტესტების გამშვები არ არის საჭირო.
- მიჰყევით Rust პროექტის კონფიგურაციას.
აგზავნეთ თქვენი ტესტების გაშვებები#
tuist cargo test --workspace
mise Cargo wrapper-ის კონფიგურაციის შემდეგ, შეგიძლიათ განაგრძოთ cargo test-ის აკრეფა. Cargo კვლავ ახდენს თქვენი ტესტების კომპილაციას და გაშვებას ჩვეული არგუმენტებით, გამოტანით და გასვლის კოდით. ანგარიშგების შეცდომები არ ცვლის თქვენი ტესტების შედეგს.
შეგიძლიათ აირჩიოთ პაკეტი ან გაფილტროთ ტესტები ჩვეულებრივად:
tuist cargo test -p store
tuist cargo test authentication
რას აკვირდება Tuist#
- გავლილი, ჩავარდნილი და იგნორირებული ტესტები დასრულებული ტესტების ნაკრებებიდან.
- ერთეულოვანი ტესტები, ინტეგრაციული ტესტები და doctests.
- მთლიანი ნაკრების ხანგრძლივობა.
- ხელმისაწვდომი ბრენჩის, კომიტის, CI და runner-ის მეტამონაცემები.
გაფილტრული ტესტები და ტესტები, რომლებიც არ შესრულდა ჩავარდნის შემდეგ, არასდროს აღინიშნება როგორც გავლილი. შედეგები ჩანს ტესტები-ის ქვეშ დაშბორდზე.
პაკეტები, მოდულები და ტესტების შემთხვევები#
Tuist აჯგუფებს შედეგებს Cargo პაკეტისა და სამიზნის მიხედვით. Rust მოდულის გზები აჯგუფებს ინდივიდუალურ ტესტებს სამიზნის ფარგლებში:
| დაშბორდის ლეიბლი | Rust მნიშვნელობა | მაგალითი |
|---|---|---|
| მოდულები | Cargo პაკეტი და სამიზნე | store::api |
| ტესტების ნაკრებები | Rust მოდულის გზები | api::authentication |
| ტესტების შემთხვევები | ინდივიდუალური ტესტები | rejects_invalid_token |
Doctests იყენებენ ცალკე მოდულს, მაგალითად store::doctest/store. მათი სახელები შეიცავს წყაროს მდებარეობას, ამიტომ მაგალითის გადატანამ შეიძლება შეცვალოს მისი იდენტობა.
Doctests და ხანგრძლივობა#
Doctests ეშვება თქვენი ჩვეული ტესტის ბრძანებით, მათ შორის compile_fail, should_panic და no_run მაგალითებით. მხოლოდ doctests-ის გასაშვებად:
tuist cargo test --doc
Stable libtest აგზავნის მთლიანი ნაკრების დროს, მაგრამ არა ინდივიდუალური ტესტების ხანგრძლივობას. მიუწვდომელი დროის ნიშნულები გამოირიცხება თითოეული შემთხვევის ხანგრძლივობის ისტორიიდან და ანალიტიკიდან, ხოლო ტესტების შედეგები კვლავ მონაწილეობენ სანდოობისა და გაშვებების რაოდენობაში.
ანგარიშგების ლიმიტები#
ინდივიდუალური შედეგები იკრიბება Cargo/libtest-ის ნაგულისხმევი გამოტანიდან. ბრძანებები, რომლებიც იყენებენ --no-run, --list, ჩუმ ან Cargo-verbose გამოტანას, ალტერნატიულ ფორმატებს ან დაუჭერელ ტესტის გამოტანას, ეშვებიან ჩვეულებრივად ინდივიდუალური ტესტების ანგარიშგების გარეშე. მორგებული harness-ები, არასრული შეჯამებები, გაურკვეველი სამიზნის მიკუთვნება და ზედმეტად დიდი ანგარიშები არ აიტვირთება.
თუ workspace პაკეტებს აქვთ იდენტურად სახელდარქმეული ინტეგრაციული სამიზნეები, აირჩიეთ ერთ-ერთი -p <package>-ით. ანგარიშგება მხარდაჭერს workspace პაკეტების ზუსტ სახელებს; დამოკიდებულების პაკეტები, ვერსიით კვალიფიცირებული სელექტორები და globs ეშვებიან ჩვეულებრივად, მაგრამ არ ანგარიშდებიან. აბსოლუტური doctest გზები გამოირიცხება, რათა checkout გზები არ მოხვდნენ ტესტების იდენტობაში.
Tuist აგზავნის გამოტანას შედეგების შეგროვებისას. ეს შეიძლება გავლენა იქონიოს ავტომატურ ფერის აღმოჩენაზე. ფონური პროცესები, რომლებიც ტოვებენ გამოტანის მილებს ღიად Cargo-ს გასვლის შემდეგ, შეიძლება გამოიწვიოს ანგარიშის გამოტოვება, მაგრამ არ ცვლიან Cargo-ს გასვლის სტატუსს.
სანდოობა და შერჩევა#
გამოიყენეთ არასტაბილური ტესტების აღმოჩენა და კარანტინი არასტაბილური ტესტების შესასწავლად და მათ დასაჩუმებლად ან გამოტოვებისთვის. ტესტების დაშლა ანაწილებს მთლიან Cargo სამიზნეებს CI worker-ებზე. დაფარვის შეტანა, დაფარვაზე დაფუძნებული ტესტების შერჩევა და ერთხელ აგების განაწილება არ არის ხელმისაწვდომი ჩვეულებრივი Cargo ტესტების გაშვებისთვის.
პრობლემების გადაწყვეტა#
თუ ტესტების გაშვება არ ჩანს დაშბორდზე, ჩართეთ debug გამოტანა, რათა ნახოთ, რატომ არ გაიგზავნა მისი ანგარიში:
TUIST_DEBUG=1 tuist cargo test --workspace