კონტენტზე გადასვლა

ტესტების დაყოფა

თანამედროვე CI ჰოსტები გთავაზობენ მრავალბირთვიან გარემოს, რაც ტესტების გარკვეულ დონეზე პარალიზაციას საშუალებას აძლევს. თუმცა, არსებობს სცენარები, როდესაც ერთი ჰოსტის შესაძლებლობებს უნდა გასცდეთ - მაგალითად, როდესაც შეზღუდული ხართ ერთდროულად გაშვებული სიმულატორების რაოდენობით, ან როდესაც თქვენი ტესტების ნაკრები უბრალოდ აღემატება ერთი მანქანის შესაძლებლობებს.

ამ შემთხვევებში, გჭირდებათ სისტემა, რომელიც ტესტებს რამდენიმე CI გამშვებზე (runner) გაანაწილებს და შედეგებს ერთიან ხედვაში აერთიანებს. სწორედ ამას აკეთებს ტესტების დაყოფა.

Tuist იყენებს ისტორიულ ტესტირების დროის მონაცემებს, რათა ჭკვიანურად გაანაწილოს დატვირთვა ნაწილებად (shards) bin-packing algorithm-ის გამოყენებით, ისე, რომ თითოეული გამშვები დაახლოებით ერთდროულად დაასრულოს მუშაობა. ყველა ნაწილის შედეგები ავტომატურად ერთიანდება Test Insights-ში, რაც გაძლევთ თქვენი ტესტების ნაკრების ერთიან ხედვას ყველა ნაწილის მიხედვით.

Xcode

Xcode ტესტების დაყოფა პარალელურ CI გამშვებებზე.

გენერირებული პროექტები

ტესტების დაყოფა Tuist-ის მიერ გენერირებულ პროექტებში პარალელურ CI გამშვებებზე.

Gradle

Gradle ტესტების დაყოფა პარალელურ CI გამშვებებზე.

Elixir

თქვენი Elixir პროექტის ტესტების დაყოფა პარალელურ CI გამშვებებზე.

Rust

Cargo ტესტის სამიზნეების განაწილება პარალელურ CI მუშაკებზე.