QA The Other Wayხარისხის უზრუნველყოფა AI ავტომატიზაციის ეპოქაში. QA The Other Way.
პრაქტიკული QA

Route fallback დამმუშავებლების ჯაჭვს ინარჩუნებს.

გადაჭერილი მოთხოვნის გაგრძელებამდე რეგისტრაციის რიგი შეამოწმეთ.

5 კითხვა: წუთიQA The Other Way
დამმუშავებლების ჯაჭვი გამოგონილ სერვერთან პირდაპირი გზის გვერდით.
ავტორის სარედაქციო ილუსტრაცია.
საილუსტრაციო ვიდეო ამ სტატიისთვის. ინგლისური ტექსტი ეკრანზე; აირჩიეთ სუბტიტრები ამ ენისთვის.

ნათარგმნი გამოცემა. ტექნიკური იდენტიფიკატორები რჩება თავდაპირველ ფორმაში.

გადაჭერილი მოთხოვნის გაგრძელებამდე რეგისტრაციის რიგი შეამოწმეთ.
ადგილობრივი მაგალითი გამოგონილი მონაცემებით, არა კლიენტის ან მომწოდებლის ინტერფეისი.

ადგილობრივი ტესტი პასუხის ფიქსტურას და შემდეგ იმავე მისამართის დამკვირვებელს არეგისტრირებს. დამკვირვებელი continue()-ს იძახებს. ფიქსტურა არ მუშაობს; მოთხოვნა სერვერს აღწევს. საერთო ქცევა მართვის გადაცემის მეთოდზეა დამოკიდებული.

Route API რეგისტრაციის შებრუნებულ რიგს აღწერს. ბოლო შესაბამისი დამმუშავებელი მოთხოვნას პირველი იღებს. fallback() შემდეგს გადასცემს, continue() კი სხვა დამმუშავებლების გარეშე პირდაპირ ქსელში აგზავნის.

ჯერ ჯაჭვი განსაზღვრეთ

გამოგონილი /demo-value მისამართისთვის ფიქსტურა დამკვირვებლამდე დაარეგისტრირეთ. დამკვირვებელი პირველი, ფიქსტურა შემდეგ მუშაობს. კონტროლირებულმა ადგილობრივმა პასუხმა სერვერის მისამართის დამმუშავებელი არ უნდა გამოიძახოს.

const order: string[] = [];
await page.route('**/demo-value', async route => {
  order.push('fixture');
  await route.fulfill({ status: 200, body: 'fixture value' });
});
await page.route('**/demo-value', async route => {
  order.push('observer');
  await route.fallback();
});

მაგალითი ადგილობრივ გვერდსა და შემდგომ მოთხოვნას გულისხმობს. შეამოწმეთ მიღებული ტექსტიც და ჩაწერილი რიგიც. ფიქსტურის მნიშვნელობა დამკვირვებლის მუშაობას არ ამტკიცებს; ჟურნალი გვერდის მიღებულ შიგთავსს არ აჩვენებს.

სერვერი გამოძახებებს ითვლის. fallback-ისას რიგია observer, fixture; გვერდი fixture value-ს იღებს, სერვერის რაოდენობა ნულია. ახალი გვერდი continue-ს იყენებს: server value, მხოლოდ observer და ერთი სერვერული გამოძახება.

ყოველი გამოსასვლელი აჩვენეთ

დამკვირვებელი კითხულობს და გადასცემს. ფიქსტურა fulfill-ით პასუხობს, ბლოკერი abort-ით წყვეტს. ყოველ გზას აშკარა გამოსასვლელი სჭირდება, რომ მოთხოვნა შემთხვევით არ დარჩეს ლოდინში. თუ პირობითი დამმუშავებელი მოთხოვნას არ ფლობს, fallback გადაწყვეტილებას შემდეგს გადასცემს.

API fallback-ის დროს მოთხოვნის ცვლილებასაც უშვებს. ეს შემდგომ შესატან მონაცემებს ცვლის და განხილვას საჭიროებს. აქ არ არის ცვლილებები, შესვლის მონაცემები ან კერძო სათაურები. ვამოწმებთ მართვას, არა სათაურების გადაცემას.

ფართო და ვიწრო მარშრუტები შეიძლება გადაიკვეთოს. ყველა რეგისტრაცია წაიკითხეთ, საერთო დამხმარეების ჩათვლით. მათი გამოძახების დრო რიგს ფაილში მდებარეობაზე მეტად განსაზღვრავს. შეცდომის ანგარიშში დაკვირვებული რიგი ჩაწერეთ.

ქსელის საზღვარი ცალკე შეამოწმეთ

ადგილობრივი პასუხი მოცემული შიგთავსით ქცევას ამოწმებს, არა რეალურ მომწოდებელს. აქ continue-ც მხოლოდ გამოგონილ ადგილობრივ სერვერს აღწევს. ინტეგრაცია ცალკე შეინარჩუნეთ, გარე ტრაფიკისთვის ნებადართული გარემო გამოიყენეთ.

ახალი გვერდები რეგისტრაციებს აცალკევებს. ერთ ტესტში მარშრუტების ცვლილებისას საჭირო დამმუშავებელი აშკარად წაშალეთ და შესაბამის სამუშაოს დაელოდეთ. გასუფთავებამ შემდეგი შემთხვევა ჩუმად არ უნდა შეცვალოს.

ჩაწერეთ მისამართი, რიგი, გამოსასვლელები, პასუხი და სერვერის მტკიცებულება. AnyTest კვლევასა და განსახილველ ტესტებს აღწერს. იკითხეთ რომელი დამოკიდებულება პასუხობდა. AnyTest-ის კონკრეტული გადაჭერის ფუნქცია არ არის განცხადებული.

დამხმარე ფუნქციის რეგისტრაცია შეიძლება ფაილში ადრე ნაჩვენებ დამმუშავებელზე წინ შესრულდეს. ამიტომ მხოლოდ კოდის მდებარეობა საკმარისი არ არის. მოთხოვნის შესაბამისი რეგისტრაციები მთლიანად წაიკითხეთ და რეალურ ჟურნალს შეადარეთ.

საერთო კითხვები

continue შემდეგ დამმუშავებელს იძახებს?

არა. მოთხოვნას დაუყოვნებლივ ქსელში აგზავნის.

fallback სერვერის გამოძახებას უზრუნველყოფს?

არა. სხვა დამმუშავებელმა შეიძლება უპასუხოს ან შეწყვიტოს.

წყაროები