আমার জন্য নিম্নলিখিত পদক্ষেপগুলি কাজ করেছে:
১. এখানে পোস্ট করা Android এর সাথে গ্রন্থাগারগুলি প্রতিস্থাপন করুন । আমার চূড়ান্ত app/build.gradle
দেখতে দেখতে:
android {
...
defaultConfig {
...
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
...
}
dependencies {
...
testImplementation 'junit:junit:4.12'
// Core library
androidTestImplementation 'androidx.test:core:1.2.0'
// AndroidJUnitRunner and JUnit Rules
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'
// Assertions
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.ext:truth:1.2.0'
androidTestImplementation 'com.google.truth:truth:0.42'
// Espresso dependencies
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
আমি তখন আমার ExampleInstrumentTest.java
ক্লাসে আমদানি করা মডিউলগুলি ম্যানুয়ালি সর্বশেষ শ্রেণীর সাথে প্রতিস্থাপন করেছি :
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.rule.ActivityTestRule;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4ClassRunner.class)
public class ExampleInstrumentedTest {
...
@Rule
public final ActivityTestRule<MainActivity> main = new ActivityTestRule<>(MainActivity.class, true);
@Before
public void init() {
...
}
@Test
public void listCount() {
...
}
@Test
public void useAppContext() {
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
Assert.assertEquals("in.curioustools.aad_x_testing2", appContext.getPackageName());
System.out.println("useAppContext : Test Ran");
}
}
আমার যে জিনিসটি বাগগুন করছে তা InstrumentationRegistery
হ'ল ক্লাসটি এখনও অবমূল্যায়িত ছিল। সুতরাং আমি ক্লাস InstrumentationRegistry.getInstrumentation().getTargetContext();
থেকে ব্যবহার androidx.test.platform.app.InstrumentationRegistry
।