При попытке запустить класс SignUpFragmentTest появляется сообщение об ошибке «Инструментарий не зарегистрирован! Должен работать под регистрационным инструментарием».Я думаю, что террор выбрасывается, когда я использую @Rule.
import android.support.test.runner.AndroidJUnit4;
import android.support.v4.app.Fragment;
import android.widget.FrameLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import androidx.test.rule.ActivityTestRule;
import static junit.framework.Assert.assertNotNull;
@RunWith(AndroidJUnit4.class)
public class SignUpFragmentTest {
@Rule public final ActivityTestRule<LoginActivity> main = new ActivityTestRule<>(LoginActivity.class);
private LoginActivity mActivity = null;
@Before
public void setUp() throws Exception {
mActivity =main.getActivity();
}
@Test
public void testLaunchSingUpScreen(){
FrameLayout frameLayout = mActivity.findViewById(R.id.fragment_container);
assertNotNull(frameLayout);
Fragment fragment = new SignUpFragment();
mActivity.getSupportFragmentManager().beginTransaction().add(frameLayout.getId(),fragment).commitAllowingStateLoss();
}
@After
public void tearDown() throws Exception {
mActivity= null;
}
}
Я добавляю в зависимости:
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test:rules:1.1.1'
и
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
к defaultConfig