আমি কীভাবে অ্যান্ড্রয়েড স্টুডিওতে পরীক্ষা তৈরি করতে পারি?


109

সবেমাত্র ডাউনলোড করা অ্যান্ড্রয়েড স্টুডিও যা ইন্টেলিজ আইডিয়া ভিত্তিক।

কেউ কীভাবে পরীক্ষা তৈরি করতে পারে?

আমি লক্ষ্য করেছি একটি টেস্ট মডিউল তৈরির জন্য একটি বিকল্প রয়েছে তবে এটি কিছু করার জন্য বলে মনে হচ্ছে না, কেবল এসসিআর দিয়ে একটি নতুন প্রকল্প তৈরি করুন

আমি হট কী সিটিআরএল + অল্ট + টি টিপতে চেষ্টা করেছি যা একটি বিদ্যমান শ্রেণিতে ইউনিট পরীক্ষা তৈরি করতে দেয় তবে এটি বর্তমান প্রকল্পে স্থাপন করতে চায় বলে মনে হয়। অবশ্যই এটি টিডিডিতে সহায়তা করে না

কারও কি এখানে কোন অভিজ্ঞতা আছে?


2
আমি একটি পরীক্ষা প্রকল্প তৈরি করার চেষ্টাও করেছি। যদি আপনি এটি অ্যাল্রয়েড প্রকল্পের মতো অ্যান্ড্রয়েড কমান্ড লাইন সরঞ্জাম দিয়ে করেন তবে আপনি একটি ত্রুটি পাবেন কারণ এটি অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলটি সন্ধান করতে পারে না। দেখে মনে হচ্ছে গ্রুন্ডল প্রকল্পগুলি মোকাবেলায় গুগলের তাদের অ্যান্ড্রয়েড সরঞ্জাম আপডেট করা দরকার। যাইহোক, আমি অ্যান্ড্রয়েডে পরীক্ষার জন্য নতুন তাই আমি আপনাকে সহায়তা করতে পারি না = (
কেজ

উত্তর:


56

এই উত্তরটি এমন লোকদের জন্য যারা সবেমাত্র অ্যান্ড্রয়েড পরীক্ষা দিয়ে শুরু করছেন। টেস্টিং কীভাবে কাজ করে তা দেখতে আপনাকে দুটি সহজ উদাহরণ প্রদান করব। আপনি যদি পরবর্তী 10 মিনিটের জন্য অনুসরণ করেন তবে আপনার নিজের অ্যাপ্লিকেশনে আপনার পরীক্ষাগুলি যুক্ত করা শুরু করার জন্য আপনাকে প্রস্তুত করা হবে। আমি মনে করি আপনি আশ্চর্য হবেন যে এটি কত সহজ easy আমি অবশ্যই ছিল।

অ্যান্ড্রয়েড টেস্টিংয়ের পরিচয়

দুটি ভিন্ন ধরণের পরীক্ষা আছে যা আপনি করবেন।

  • স্থানীয় ইউনিট পরীক্ষা। এগুলি স্থানীয়ভাবে JVM (জাভা ভার্চুয়াল মেশিন) এ চালিত হয়। যেহেতু তারা স্থানীয়, তারা দ্রুত। আপনি এগুলি আপনার কোডের সেই অংশগুলি পরীক্ষা করতে ব্যবহার করতে পারেন যা কেবল জাভা প্রয়োজন এবং অ্যান্ড্রয়েড এপিআইগুলি নয়। (কখনও কখনও আপনি স্থানীয়ভাবে আরও জিনিস পরীক্ষার জন্য একটি নকল এপিআই আইটেম তৈরি করতে পারেন This এটি একটি মশকাহ বলে । একটি উপহাস Contextউদাহরণ))
  • যন্ত্র পরীক্ষা। এই পরীক্ষাগুলি একটি আসল ডিভাইসে বা এমুলেটরটিতে চালিত হয়। এটি তাদের স্থানীয় পরীক্ষার চেয়ে ধীর করে তোলে। তবে এগুলি আরও নমনীয় কারণ আপনার কাছে সম্পূর্ণ অ্যান্ড্রয়েড এপিআই উপলব্ধ।

একটি নতুন প্রকল্প তৈরি করুন এবং আপনি নিম্নলিখিত ডিফল্ট ফোল্ডারগুলি দেখতে পাবেন।

এখানে চিত্র বর্ণনা লিখুন

সবকিছু ইতিমধ্যে রয়েছে এবং আপনি আপনার পরীক্ষা তৈরির জন্য অপেক্ষা করছেন। ইতিমধ্যে এটি সব সেট আপ!

কিভাবে স্থানীয় ইউনিট পরীক্ষা তৈরি করতে হয়

ExampleUnitTestউপরের চিত্রটিতে প্রদর্শিত ফাইলটি খুলুন । এটি দেখতে কিছু দেখতে হবে:

public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() throws Exception {
        assertEquals(4, 2 + 2);
    }
}

সমস্ত পরীক্ষা চালাতে ডাবল সবুজ তীর টিপুন বা কেবল একটি চালানোর জন্য একক সবুজ তীর টিপুন। (এক্ষেত্রে একটি মাত্র পরীক্ষা রয়েছে তাই তারা দু'জনই একই কাজ করে))

এখানে চিত্র বর্ণনা লিখুন

এটা পাস করা উচিত (যতদিন 2 + 2এখনও 4যখন আপনি এই উত্তর পড়ছেন)। অভিনন্দন, আপনি কেবল আপনার প্রথম পরীক্ষাটি চালিয়েছেন!

আপনার নিজের পরীক্ষা করা

আসুন আমাদের নিজের পরীক্ষা লিখুন। প্রথমে আপনার মূল অ্যাপ্লিকেশন প্রকল্পে এই শ্রেণিটি যুক্ত করুন যাতে আমাদের পরীক্ষার জন্য কিছু থাকে:

public class MyClass {
    public int add(int a, int b) {
        return a + b;
    }
}

এখন addition_isCorrect()পরীক্ষার শ্রেণিতে পদ্ধতিটি নিম্নলিখিত কোডের মতো হতে (বা অন্য কোনও নাম দিয়ে অন্য পদ্ধতি যুক্ত করুন) করুন:

public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() throws Exception {
        MyClass myClass = new MyClass();
        int result = myClass.add(2, 2);
        int expected = 4;
        assertEquals(expected, result);
    }
}

এটি আবার চালাও এবং আপনি এটি পাস দেখতে হবে। অভিনন্দন, আপনি কেবল নিজের প্রথম পরীক্ষা তৈরি করেছেন! (ঠিক আছে, আমি প্রযুক্তিগতভাবে অনুমান করি যে এটি আমার ছিল, তবে, আরে, যথেষ্ট কাছাকাছি mine আমার যা আপনার তা))

কিভাবে চালিত পরীক্ষা তৈরি করা যায়

ExampleInstrumentedTestফাইলটি খুলুন । এটি দেখতে কিছু দেখতে হবে:

@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
    @Test
    public void useAppContext() throws Exception {
        // Context of the app under test.
        Context appContext = InstrumentationRegistry.getTargetContext();

        assertEquals("com.example.myapp", appContext.getPackageName());
    }
}

আবার সেই সবুজ বোতামগুলির মধ্যে একটি টিপুন।

এখানে চিত্র বর্ণনা লিখুন

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

আপনার নিজের পরীক্ষা করা

চালিত পরীক্ষাগুলি পরীক্ষা চালাতে এসপ্রেসো ব্যবহার করে। এটি আপনার নিজের ছোট্ট রোবট ব্যবহারকারীর মতো যা আপনি নিজের অ্যাপটি পরীক্ষা করতে পারেন। আপনি এটিতে বোতাম টিপানোর বা কোনও পাঠ্য ভিউয়ের বৈশিষ্ট্য পড়ার মতো কিছু করতে বলতে পারেন।

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

প্রথমে আপনার ইউআইতে একটি বোতাম যুক্ত করুন যাতে আমাদের সাথে কাজ করার কিছু থাকে। আমি এটা করেছি:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.myapp.MainActivity">

    <Button
        android:id="@+id/myButton"
        android:text="Click me"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</android.support.constraint.ConstraintLayout> 

তারপরে মেনুতে রান> রেকর্ড এস্প্রেসো টেস্ট টিপুন ।

এখানে চিত্র বর্ণনা লিখুন

এটি শুরু হওয়ার পরে, এমুলেটরটির বোতামটি ক্লিক করুন এবং তারপরে রেকর্ড ডায়ালগটিতে ঠিক আছে চয়ন করতে শেষ করুন। এটি নিম্নলিখিত পরীক্ষার কোডটি স্বয়ংক্রিয়ভাবে উত্পন্ন করবে।

@LargeTest
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {

    @Rule
    public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void mainActivityTest() {
        ViewInteraction appCompatButton = onView(
                allOf(withId(R.id.myButton), withText("Click me"), isDisplayed()));
        appCompatButton.perform(click());
    }
}

গ্রেট! আপনি সবেমাত্র আপনাকে প্রথম চালিত পরীক্ষা তৈরি করেছেন! এটা খুব সহজ ছিল। এটিকে আসল পরীক্ষা করার জন্য আপনার সম্ভবত একটি দৃ add়তা যুক্ত করা উচিত, তবে এটি রেকর্ডারের সাথে করাও বেশ সহজ। কিছুটা গভীর যেতে এই ভিডিওটি দেখুন ।

আরও অধ্যয়ন

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


1
দুর্দান্ত উত্তর @ সুরগাচ তাত্ক্ষণিক প্রশ্ন: আমি স্থানীয় ইউনিট পরীক্ষার ক্ষেত্রে সমর্থন ফাইলগুলি কোথায় রাখব? এটি হ্যাকি, তবে আমি পরীক্ষার গোড়া থেকে পুরো পথটি প্রকাশ করতে পেরে খুশি হব, তবে যদি আমি অ্যান্ড্রয়েড স্টুডিওতে চালিত করি তবে পরীক্ষাগুলি রুট_/app থেকে চালিত হয় , তবে যদি আমি গ্রেডল কমান্ড লাইন (বা সিআই) থেকে চালাই তবে তা হয় _root । (আদর্শভাবে আমি যে assetsকোনও উপায়ে চালানোর সময় নির্দিষ্ট ফোল্ডারগুলি অ্যাক্সেস করতে চাই ))
mm2001

@ এমএম ২০০১, আমি নিজের উত্তর কীভাবে পরীক্ষা করতে হয় তা শেখার উপায় হিসাবে এই উত্তরটি লিখেছিলাম, তাই আপনার কাছে যতটা পেলাম আমি এখনও তা পেলাম না। আমার আগে আপনি যদি এটি বের করে দেন, আপনি কি কোনও মন্তব্য করতে পারেন?
সুরগাচ

আমি এটি দরকারী খুঁজে পেয়েছি: stackoverflow.com/a/42751502/19506 - এটি বলছে যে একটি ফোল্ডার তৈরি করুন test/resourcesএবং সেখানে ফাইলগুলি রাখুন, উদাহরণস্বরূপ test.txtএবং সেগুলি দিয়ে অ্যাক্সেস করুন getClass().getClassLoader().getResource("test.txt")। আমি স্থির করেছি যে সরাসরি APK মান সম্পদ অ্যাক্সেস করা সম্ভবত একটি খারাপ ধারণা, সুতরাং আমি বিল্ড স্টেপগুলিতে পরীক্ষা করার জন্য ফাইলগুলি অনুলিপি করে বা কোনও বাহ্যিক আপডেট প্রক্রিয়ায় এইটিকে মোকাবেলা করব। গ্রেডলের বিভিন্ন সংস্করণ সম্পর্কে কিছু প্রশ্ন বাকি আছে, তবে আমি এখনও এর মুখোমুখি হই নি।
mm2001

36

সম্পাদনা করুন: 0.1.8 হিসাবে এটি এখন আইডিইতে সমর্থিত । নীচের নির্দেশাবলী ব্যবহার না করে দয়া করে সেখানে নির্দেশাবলী অনুসরণ করুন।

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ব্যবহারকারী গাইড অনুসরণ করে আমি একটি সদ্য নির্মিত প্রকল্পে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করে কমান্ড লাইনে কাজ করার পরীক্ষা পেতে সক্ষম হয়েছি (আমি ডিফল্ট 'com.example.myapplication' প্যাকেজটি ব্যবহার করেছি):

  1. পরীক্ষাগুলির জন্য একটি এসসিআর / উপকরণ টেস্ট / জাভা ডিরেক্টরি যুক্ত করুন
  2. Com.example.myapplication.test প্যাকেজটিতে একটি পরীক্ষা শ্রেণি (ক্রিয়াকলাপ টেস্টকেস বাড়ানো) যুক্ত করুন
  3. ভার্চুয়াল ডিভাইস শুরু করুন
  4. কমান্ড লাইনে (মাই অ্যাপ্লিকেশনপ্রজেক্ট / মাই অ্যাপ্লিকেশন ডিরেক্টরিতে) কমান্ডটি ব্যবহার করুন '../ গ্রেডলিউ সংযুক্তInstrumentTest'

এটি আমার পরীক্ষা চালিয়েছে এবং মাই অ্যাপ্লিকেশনপ্রজেক্ট / মাই অ্যাপ্লিকেশন / বিল্ড / রিপোর্টস / ইনস্ট্রুমেন্ট টেস্ট / সংযুক্ত পরীক্ষার ফলাফল রাখে in আমি অ্যান্ড্রয়েড অ্যাপ্লিকেশন পরীক্ষায় নতুন, তবে এটি ঠিকঠাক বলে মনে হচ্ছে।

আইডিই এর মধ্যে থেকে একই পরীক্ষা ক্লাস চালানো এবং চালানো সম্ভব। আপনার দরকার হবে

  1. মেইভেন সেন্ট্রালকে রেপো হিসাবে তালিকাবদ্ধ করতে বিল্ডগ্র্যাডল আপডেট করুন
  2. Build.gradle আপডেট করুন JUnit 3.8 কে একটি উপকরণ টেস্টকম্পাইল নির্ভরতা হিসাবে যুক্ত করুন যেমন যন্ত্রের টেস্টকম্পাইল 'জুনিট: জুনিট: 3.8'
  3. 'প্রকল্প কাঠামো'-তে ম্যানুয়ালি JUnit কে নির্ভরতার ক্রমে প্রথম স্থানান্তর করুন

তবে এটি ব্যর্থ হয় (পরীক্ষাগুলি চলাকালীন ব্যবহৃত ক্লাসপথ পরীক্ষার আউটপুট ডিরেক্টরিটি অনুপস্থিত)। তবে, আমি নিশ্চিত নই যে এটি অ্যান্ড্রয়েডের নির্দিষ্ট পরীক্ষার রানার প্রয়োজন বলে আমার বোঝার কারণে এটি নির্বিশেষে কাজ করবে।


20

আমি গ্রেড.বিল্ড ফাইলটি ব্যবহার করার পরামর্শ দেব ।

  1. পরীক্ষাগুলির জন্য একটি এসসিআর / অ্যান্ড্রয়েড টেস্ট / জাভা ডিরেক্টরি যুক্ত করুন ( ক্রিস ব্যাখ্যা করা শুরু করে)

  2. গ্রেড.বিল্ড ফাইলটি খুলুন এবং সেখানে নির্দিষ্ট করুন:

    android {
    
        compileSdkVersion rootProject.compileSdkVersion
        buildToolsVersion rootProject.buildToolsVersion
    
        sourceSets {
    
            androidTest {
                java.srcDirs = ['androidTest/java']
            }
        }
    }
  3. "গ্রেডল ফাইলের সাথে সিঙ্ক প্রকল্প" টিপুন (শীর্ষ প্যানেলে)। আপনার এখন দেখা উচিত একটি ফোল্ডার "জাভা" (ভিতরে "অ্যান্ড্রয়েড টেস্ট") সবুজ রঙ।

  4. এখন আপনি সেখানে কোনও পরীক্ষা ফাইল তৈরি করতে এবং সেগুলি কার্যকর করতে সক্ষম।


অ্যান্ড্রয়েড টেস্ট.সেটরুট ('ইনস্ট্রুমেন্ট টেস্ট') ভুলে যাবেন না
IgorGanapolsky

3
বর্তমান অ্যান্ড্রয়েড স্টুডিও সংস্করণে এটি প্রয়োজনীয় নয়, আরও বেশি - অ্যান্ড্রয়েড টেস্ট দিয়ে একটি নামের উপকরণ রয়েছে এমন সবকিছু প্রতিস্থাপন করুন
ইউরি

'ইনস্ট্রুমেন্ট টেস্ট' এবং 'অ্যান্ড্রয়েড টেস্ট' নামগুলি সম্পূর্ণ নির্বিচারে। আপনার পরীক্ষা প্রকল্পের জন্য এগুলি কেবল ডিরেক্টরি নাম। আপনি ঠিক পাশাপাশি একটি 'পরীক্ষা' ডিরেক্টরি তৈরি করতে পারেন। তদ্ব্যতীত, পরীক্ষার কাঠামোরে এসডির প্যাকেজের নামটি android.test.InstrumentationTestCase। সুতরাং তাত্পর্যপূর্ণভাবে আমি বিশ্বাস করি যে 'যন্ত্র' বা 'উপকরণ' এখনও নিজের পরীক্ষার নামকরণের জন্য অর্থবোধ করে। নিম্নলিখিত উত্সকোডটি
file

7
দয়া করে এখানে ডকুমেন্টেশনটি পড়ুন: সরঞ্জাম.অ্যান্ড্রয়েড . com / tech-docs / new-build- সিস্টেম । সংস্করণ ০.৯.০ থেকে ইন্সট্রুমেন্ট টেস্টটির নামকরণ করা হয়েছে অ্যান্ড্রয়েড টেস্ট
ইউরি চেরনিশভ

1
যেমন @IgorGanapolsky নেমিং ফোল্ডারের androidTest নির্বিচারে নয়। ফোল্ডারটি সবুজ হয়ে যাওয়ার জন্য এটি অবশ্যই করা উচিত।
ক্লকস্মিত


10

Android Studio v.2.3.3

আপনি যা পরীক্ষা করতে চান সেই কোডের প্রসঙ্গটি হাইলাইট করুন এবং হটকি ব্যবহার করুন: CTRL+ SHIFT+T

আপনার সেটআপটি সম্পূর্ণ করতে ডায়ালগ ইন্টারফেসটি ব্যবহার করুন।

পরীক্ষার কাঠামোটি সেরা ফলাফলগুলির জন্য আপনার প্রকল্পের প্যাকেজ লেআউটটি আয়না করার কথা, তবে আপনি সঠিক ডিরেক্টরি তৈরি করতে এবং সেটিংস তৈরি করতে আপনি ম্যানুয়ালি কাস্টম পরীক্ষা তৈরি করতে পারেন।


7

এখন পর্যন্ত (স্টুডিও 0.61) সঠিক প্রকল্প কাঠামো বজায় রাখা যথেষ্ট is গ্রহণের মতো আলাদা পরীক্ষা প্রকল্প তৈরি করার দরকার নেই (নীচে দেখুন)।

টেস্ট কাঠামো


4

অ্যান্ড্রয়েড স্টুডিওগুলি বিকশিত হতে থাকে তাই উপরের প্রতিক্রিয়াগুলি শেষ পর্যন্ত প্রযোজ্য হবে না। অ্যান্ড্রয়েড স্টুডিও 1.2.2.1.1 এর বর্তমান সংস্করণের জন্য এখানে পরীক্ষার জন্য একটি সুন্দর টিউটোরিয়াল রয়েছে:

http://evgenii.com/blog/testing-activity-in-android-studio-tutorial-part-1/


2
হ্যাঁ, এএস ক্রমবিকাশ করে চলেছে, তাই এজন্য কারও পক্ষে প্রান্ত প্রযুক্তিটি কাটা সম্পর্কে একটি নিবন্ধ তৈরি করা নির্বোধ, এবং প্রযোজ্য সংস্করণ নম্বরটি কখনও উল্লেখ করবেন না। একমাত্র সূত্রটি খুব নীচে একটি তারিখ।
টম

3

মনে হয় যে অন্যতম বড় পরিবর্তনটি হ'ল অ্যান্ড্রয়েড স্টুডিওর মাধ্যমে পরীক্ষার অ্যাপ্লিকেশনটি অ্যাপ্লিকেশন প্রকল্পের সাথে সংহত করা হয়েছে।

আমি নিশ্চিত না এটি আপনার নির্দিষ্ট সমস্যাটিকে সহায়তা করে কিনা তবে আমি গ্রেডেল প্রকল্পের মাধ্যমে পরীক্ষা করার বিষয়ে একটি গাইড পেয়েছি। অ্যান্ড্রয়েড গ্রেডল ব্যবহারকারী গাইড


3

আমার সন্ধানের সবচেয়ে সহজ উপায়টি হ'ল আমার নিম্নলিখিত ব্লগ পোস্টে প্রবাহিত :

  1. এমন একটি ফোল্ডার তৈরি করুন যাতে আপনি আপনার ইউনিট পরীক্ষাগুলি লিখবেন (পছন্দসই com.example.app.tests)
  2. একটি নতুন পরীক্ষার শ্রেণি তৈরি করুন (পছন্দসই নেমঅফক্লাসডেষ্টেড টেস্টস, অর্থাত্ BankAcountLoginActivity পরীক্ষা)
  3. ইনস্ট্রুমেন্টেশনটেষ্টক্যাস প্রসারিত করুন
  4. আমরা ইউনিট পরীক্ষাগুলি কনফিগার করতে সফল হয়েছি তা নিশ্চিত করতে একটি ব্যর্থ ইউনিট পরীক্ষা লিখুন
  5. মনে রাখবেন যে ইউনিট পরীক্ষা পদ্ধতির নামটি অবশ্যই "পরীক্ষা" শব্দটি দিয়ে শুরু করা উচিত (সম্ভবত টেস্টডেষ্টডেথডমনেম এক্সপ্লোরার রেজাল্ট () অর্থাত টেস্টব্যাঙ্কঅ্যাকউন্টভিলিডেশন ফেইলডল্ডআউট ())
  6. ইউনিট পরীক্ষার জন্য আপনার প্রকল্পটি কনফিগার করুন:
  7. 'রান ...' মেনুটি খুলুন এবং 'কনফিগারেশন সম্পাদনা' ক্লিক করুন
  8. + বোতামটি ক্লিক করুন
  9. অ্যান্ড্রয়েড পরীক্ষার টেম্পলেট নির্বাচন করুন
  10. আপনার রান কনফিগারেশনের জন্য একটি নাম ইনপুট করুন (পছন্দমত 'অ্যাপনাম টেস্ট')
  11. মডিউল কম্বোবক্সে আপনার অ্যাপ্লিকেশনটি নির্বাচন করুন
  12. "অল ইন প্যাকেজ" রেডিও বোতামটি নির্বাচন করুন (সাধারণত আপনি এই বিকল্পটি নির্বাচন করতে চান কারণ এটি আপনার সমস্ত পরীক্ষার ক্লাসে সমস্ত ইউনিট পরীক্ষা চালায়)
  13. পদক্ষেপ 1 (যেমন com.example.app.tests) থেকে পরীক্ষার প্যাকেজের নাম পূরণ করুন
  14. আপনি নিজের পরীক্ষা চালাতে চান এমন ডিভাইসটি নির্বাচন করুন
  15. প্রয়োগ করুন এবং কনফিগারেশন সংরক্ষণ করুন
  16. ইউনিট পরীক্ষা চালান (এবং ব্যর্থতা আশা):
  17. রান মেনু থেকে আপনার নতুন নির্মিত টেস্ট কনফিগারেশন নির্বাচন করুন
  18. রান ক্লিক করুন এবং ফলাফল আউটপুট কনসোল পড়ুন

আপনার কোডটি আরও পাঠযোগ্য, রক্ষণাবেক্ষণযোগ্য এবং ভালভাবে পরীক্ষিত করার জন্য শুভকামনা!


প্রশ্ন ছিল ইন্সট্রুমেন্টেশন টেস্ট নিয়ে! কিছু উপকরণ পরীক্ষা লিখতে আমারও অসুবিধা হচ্ছে। আমার প্রশ্নটি স্ট্যাকওভারফ্লো
মোনিকা

2

অ্যান্ড্রয়েড স্টুডিও একটি চলন্ত লক্ষ্য ছিল, প্রথমে বিকাশকারী পূর্বরূপ এবং এখন বিটাতে a প্রকল্পের টেস্ট ক্লাসগুলির জন্য পথটি সময়ের সাথে সাথে পরিবর্তিত হয়েছে, তবে আপনি যে এএস এর সংস্করণ ব্যবহার করছেন তা বিবেচনা না করেই, পথটি আপনার .iml ফাইলে ঘোষণা করা হয়েছে। বর্তমানে, 0.8.3 সংস্করণ সহ, আপনি নীচের অভ্যন্তরীণ iml ফাইলের ভিতরে পাবেন:

      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
  <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
  <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
  <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
  <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
  <sourceFolder url="file://$MODULE_DIR$/src/androidTest/groovy" isTestSource="true" />
  <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
  <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />

.Iml ফাইলটি আপনাকে বলছে যে আপনার পরীক্ষার ক্লাস কোথায় রাখবেন।


2

অ্যান্ড্রয়েড স্টুডিও ১.১ হিসাবে, আমরা ইউনিট টেস্ট লেখার জন্য অফিশিয়াল (পরীক্ষামূলক) সমর্থন পেয়েছি (রোবলেট্রিক এছাড়াও কাজ করে)।

উত্স: https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support


নতুন সাপোর্ট টেস্ট লাইব্রেরি সহ অ্যান্ড্রয়েড পরীক্ষা লেখার জন্য সমর্থনটি কেবল উন্নত হয়েছে। আপনি এখানে একটি দুর্দান্ত উপস্থাপনাটি দেখতে পাবেন: docs.google.com/presentation/d/…
marius bardan

0

গ্রেড ফাইলের ভিতরে lib নীচে যুক্ত করুন

 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

অ্যান্ড্রয়েড টেস্ট ডিরেক্টরিতে হোমঅ্যাক্টিভিটিস্টেস্ট ক্লাস তৈরি করুন এবং পরীক্ষা চালানোর আগে স্ট্রিং রিসোর্স ফাইলে ফ্ল্যারি_পি_কি এবং সেন্ডার_আইডি স্ট্রিং যুক্ত করুন এবং ব্যর্থতা এবং সাফল্যের ক্ষেত্রে মান পরিবর্তন করুন।

@RunWith(AndroidJUnit4.class)
public class HomeActivityTest
{
    private static final String SENDER_ID = "abc";
    private static final String RELEASE_FLURRY_API_KEY = "xyz";

    @Test
    public void gcmRegistrationId_isCorrect() throws Exception
    {
        // Context of the app under test.
        Context appContext = InstrumentationRegistry.getTargetContext();

        Assert.assertEquals(SENDER_ID, appContext.getString(R.string.sender_id));
    }

    @Test
    public void flurryApiKey_isCorrect() throws Exception
    {
        // Context of the app under test.
        Context appContext = InstrumentationRegistry.getTargetContext();

        Assert.assertEquals(RELEASE_FLURRY_API_KEY, appContext.getString(R.string.flurry_api_key));
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.