একটি নতুন নেটিভ টেস্ট উদাহরণ যোগ করা

আপনি যদি অ্যান্ড্রয়েড প্ল্যাটফর্ম ডেভেলপমেন্টে নতুন হন, তাহলে আপনি একটি সম্পূর্ণ নতুন দেশি পরীক্ষা যোগ করার এই সম্পূর্ণ উদাহরণটি খুঁজে পেতে পারেন যা সাধারণ কাজের প্রবাহ দেখানোর জন্য কার্যকর। এছাড়াও, যদি আপনার কাছে সি জন্য gtest ফ্রেমওয়ার্ক সঙ্গে অপরিচিত ++ পর্যালোচনা করুন gtest প্রকল্পের সাইটে অতিরিক্ত ডকুমেন্টেশন জন্য।

এই গাইড একটি নমুনা হিসাবে পরিবেশন করতে অনুসরণ পরীক্ষা ব্যবহার করে:

হ্যালো ওয়ার্ল্ড নেটিভ টেস্ট

এগিয়ে যাওয়ার আগে একটি রুক্ষ ছাপ পেতে প্রথমে কোডটি ব্রাউজ করার পরামর্শ দেওয়া হচ্ছে।

একটি উৎস অবস্থান সিদ্ধান্ত

সাধারণত আপনার টিমে ইতিমধ্যে কোড চেক করার জায়গাগুলির একটি প্রতিষ্ঠিত প্যাটার্ন এবং পরীক্ষাগুলি যোগ করার জায়গা থাকবে। বেশিরভাগ দল একটি একক গিট সংগ্রহস্থলের মালিক, বা অন্য দলের সাথে একটি ভাগ করে কিন্তু একটি ডেডিকেটেড সাব ডিরেক্টরি থাকে যার মধ্যে কম্পোনেন্ট সোর্স কোড থাকে।

আপনার উপাদান উৎসের জন্য রুট অবস্থান ধরে নেওয়া যাক এ <component source root> , সবচেয়ে উপাদান আছে src এবং tests যেমন নীচে ফোল্ডার, এবং কিছু অতিরিক্ত ফাইল Android.mk (অথবা অতিরিক্ত বিভক্ত .bp ফাইল)।

আপনি একটি ব্র্যান্ড নতুন পরীক্ষা যোগ করা হয় যেহেতু, আপনি সম্ভবত তৈরি করতে হবে tests আপনার উপাদান পাশে ডিরেক্টরির src , এবং কন্টেন্ট সঙ্গে এটিকে পূরণ করুন।

কিছু কিছু ক্ষেত্রে, আপনার দলের অধীনে আরও ডিরেক্টরি স্ট্রাকচার থাকতে পারে tests পৃথক বাইনেরিতে মধ্যে পরীক্ষার বিভিন্ন সংকলনের প্যাকেজ প্রয়োজন কারণে। এবং এই ক্ষেত্রে, আপনি অধীনে একটি নতুন সাব ডিরেক্টরি তৈরি করতে হবে tests

আঁকা, এখানে একটি একক সঙ্গে উপাদান জন্য একটি টিপিক্যাল ডিরেক্টরির রূপরেখা এর tests ফোল্ডার:

\
 <component source root>
  \-- Android.bp (component makefile)
  \-- AndroidTest.xml (test config file)
  \-- src (component source)
  |    \-- foo.cpp
  |    \-- ...
  \-- tests (test source root)
      \-- Android.bp (test makefile)
      \-- src (test source)
          \-- foo_test.cpp
          \-- ...

এবং এখানে একাধিক টেস্ট সোর্স ডিরেক্টরি সহ উপাদানগুলির জন্য একটি সাধারণ ডিরেক্টরি রূপরেখা রয়েছে:

\
 <component source root>
  \-- Android.bp (component makefile)
  \-- AndroidTest.xml (test config file)
  \-- src (component source)
  |    \-- foo.cpp
  |    \-- ...
  \-- tests (test source root)
      \-- Android.bp (test makefile)
      \-- testFoo (sub test source root)
      |   \-- Android.bp (sub test makefile)
      |   \-- src (sub test source)
      |       \-- test_foo.cpp
      |       \-- ...
      \-- testBar
      |   \-- Android.bp
      |   \-- src
      |       \-- test_bar.cpp
      |       \-- ...
      \-- ...

গঠন তথাপি, আপনি পূর্ণ শেষ করব tests ডিরেক্টরি বা কি আছে অনুরূপ ফাইল নব নির্মিত সাব ডিরেক্টরি native নমুনা Gerrit পরিবর্তন ডিরেক্টরি। নীচের বিভাগগুলি প্রতিটি ফাইলের আরও বিশদে ব্যাখ্যা করবে।

সোর্স কোড

দেখুন হ্যালো ওয়ার্ল্ড দেশীয় টেস্ট উদাহরণের জন্য।

টীকাযুক্ত সোর্স কোড নীচে তালিকাভুক্ত করা হয়েছে:

#include <gtest/gtest.h>

হেডার ফাইল gtest এর জন্য অন্তর্ভুক্ত। উল্লেখ্য অন্তর্ভুক্ত যে ফাইল নির্ভরতা স্বয়ংক্রিয়ভাবে ব্যবহার করে সমাধান করা BUILD_NATIVE_TEST Makefile মধ্যে

#include <stdio.h>

TEST(HelloWorldTest, PrintHelloWorld) {
    printf("Hello, World!");
}

gtests ব্যবহার করে লেখা হয় TEST ম্যাক্রো: প্রথম প্যারামিটার পরীক্ষা ক্ষেত্রে নাম, এবং দ্বিতীয় টেস্ট নাম; পরীক্ষার বাইনারি নামের সাথে, ফলাফল ড্যাশবোর্ডে দৃশ্যমান হলে তারা নীচের শ্রেণিবিন্যাস গঠন করে:

<test binary 1>
| \-- <test case 1>
| |   \-- <test 1>
| |   \-- <test 2>
| |   \-- ...
| \-- <test case 2>
| |   \-- <test 1>
| |   \-- ...
| \-- ...
<test binary 2>
|
...

Gtest দিয়ে পরীক্ষা লেখার বিষয়ে আরও তথ্যের জন্য, এর ডকুমেন্টেশন দেখুন:

  • https://github.com/google/googletest/blob/master/googletest/docs/Primer.md

সহজ কনফিগারেশন ফাইল

প্রতিটি নতুন পরীক্ষার মডিউলে অবশ্যই একটি কনফিগারেশন ফাইল থাকতে হবে যাতে মডিউল মেটাডেটা, কম্পাইল-টাইম নির্ভরতা এবং প্যাকেজিং নির্দেশাবলী সহ বিল্ড সিস্টেম নির্দেশ করে। বেশিরভাগ ক্ষেত্রে, Soong- ভিত্তিক, ব্লুপ্রিন্ট ফাইল বিকল্প যথেষ্ট। দেখুন সরল টেস্ট কনফিগারেশন বিস্তারিত জানার জন্য।

জটিল কনফিগারেশন ফাইল

পরিবর্তে ট্রেড ফেডারেশন ব্যবহার করার জন্য, Android এর পরীক্ষা সাজ জন্য একটি পরীক্ষার কনফিগারেশন ফাইলটি লিখতে ট্রেড ফেডারেশন

পরীক্ষার কনফিগারেশনটি পরীক্ষা ক্লাস সরবরাহ করার জন্য বিশেষ ডিভাইস সেটআপ বিকল্প এবং ডিফল্ট আর্গুমেন্ট নির্দিষ্ট করতে পারে।

স্থানীয়ভাবে তৈরি করুন এবং পরীক্ষা করুন

সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে জন্য চাকরী Atest

আরো জটিল গুরুতর স্বনির্ধারণ প্রয়োজন ক্ষেত্রেই জন্য, অনুসরণ যন্ত্রানুষঙ্গের নির্দেশাবলী