টেস্ট ল্যাব ট্রিগার (প্রথম প্রজন্ম)

টেস্টম্যাট্রিক্স সম্পন্ন হলে একটি ফাংশন ট্রিগার করুন

একটি নতুন ফাংশন তৈরি করুন যা একটি TestMatrix সম্পূর্ণ হলে functions.testLab.testMatrix().onComplete() ইভেন্ট হ্যান্ডলার ব্যবহার করে ট্রিগার হবে।

exports.sendEmailNotification = functions.testLab.testMatrix().onComplete((testMatrix) => {
  // ...
});

পরীক্ষার অবস্থা এবং ফলাফল পরিচালনা করুন

আপনার ফাংশনের প্রতিটি এক্সিকিউশনে একটি TestMatrix পাস করা হয়, যেটিতে ম্যাট্রিক্সটির চূড়ান্ত অবস্থা এবং সমস্যাগুলো বুঝতে সাহায্যকারী বিবরণ অন্তর্ভুক্ত থাকে।

exports.handleTestMatrixCompletion = functions.testLab.testMatrix().onComplete(testMatrix => {
  const matrixId = testMatrix.testMatrixId;
  switch (testMatrix.state) {
    case 'FINISHED':
      console.log(`TestMatrix ${matrixId} finished with outcome: ${testMatrix.outcomeSummary}`);
      break;
    case 'INVALID':
      console.log(`TestMatrix ${matrixId} was marked as invalid: ${testMatrix.invalidMatrixDetails}`);
      break;
    default:
      console.log(`TestMatrix ${matrixId} completed with state ${testMatrix.state}`);
  }
  return null;
});

ক্লায়েন্টের বিবরণ অ্যাক্সেস করুন

টেস্ট ম্যাট্রিক্স বিভিন্ন উৎস বা ওয়ার্কফ্লো থেকে তৈরি করা যেতে পারে। তাই, টেস্টের উৎস বা অন্যান্য গুরুত্বপূর্ণ প্রেক্ষাপটের উপর ভিত্তি করে বিভিন্ন কাজ সম্পাদনকারী ফাংশন তৈরি করা প্রায়শই কাম্য। এই কাজে সাহায্য করার জন্য, gcloud আপনাকে একটি টেস্ট শুরু করার সময় যেকোনো তথ্য পাস করার সুযোগ দেয়, যা পরবর্তীতে আপনার ফাংশনে অ্যাক্সেস করা যেতে পারে। উদাহরণস্বরূপ:

gcloud beta firebase test android run \
    --app=path/to/app.apk \
    --client-details testType=pr,link=https://path/to/pull-request

উদাহরণ ফাংশন:

exports.notifyOnPullRequestFailure = functions.testLab.testMatrix().onComplete(testMatrix => {
  if (testMatrix.clientInfo.details['testType'] != 'pr') {
    // Not a pull request
    return null;
  }

  if (testMatrix.state == 'FINISHED' && testMatrix.outcomeSummary == 'SUCCESS') {
    // No failure
    return null;
  }

  const link = testMatrix.clientInfo.details['link'];
  let message = `Test Lab validation for pull request ${link} failed. `;

  if (!!testMatrix.resultStorage.resultsUrl) {
    message += `Test results available at ${testMatrix.resultStorage.resultsUrl}. `;
  }

  // Send notification here ...
});