2016-06-27 3 views
0

Android Studio을 사용 중이며 MAinActivity 클래스의 울트라 베이직 테스트를 작성했습니다. 나는 extends ActivityInstrumentationTestCase2<MainActivity>에서 MainActivityTest를 상속 나는 어떤 에뮬레이터를 실행하지 않고, gradle 단위 테스트를 사용하여기본 안드로이드 유닛 테스팅

private MainActivity mMainActivityTest; 
public void testPreconditions() { 
     assertNotNull("mMainActivityTest is null", mMainActivityTest); 
    } 

테스트하려는. 내가 테스트를 실행하면

, 난 항상

External tasks execution finished 'cleanTest test --tests "com.my.app.MainActivityTest.testPreconditions" 

가 어떻게 올바른 단위 테스트를 할 수 얻을, 나는 더 적색 또는 녹색 막대를 얻을, 나는 assertNotNull 또는 assertNull 무엇을 선택? 당신의 build.gradle 응용 프로그램 수준에서

+0

중단 점을 시도한 적이 있습니까? 그것은 당신의'@ Test' 주석이 누락 된 것 같습니다 –

+0

@KevinWallis 저는'@ Test' 주석을 가지고 있습니다 만 아무 것도 바뀌지 않습니다. '테스트 이벤트가 수신되지 않았습니다'라는 메시지가 나타났습니다 – user1611830

답변

1

의존성에 추가 :

public class MainActivityTest(){ 
@Test 
    public void testInitialAlwaysPasses(){ 
     assert true; 
    } 
} 
: 예를 들어, 다음 SRC/테스트/자바

당신의 간단한 테스트 :

testCompile 'junit:junit:4.12' 

디렉토리에 테스트를 넣어

실행하면 녹색 선과 모든 출력이 표시됩니다. 이것이 기본 단위 테스트입니다. Instrumentation 테스트의 경우 src/androidTest/java 디렉토리에 테스트를 넣어야합니다. (테스트하려는 클래스에서 마우스 오른쪽 버튼을 클릭하고 Goto-> test를 선택하면 테스트 클래스가 생성됩니다.) 여기에서 계속하기가 더 쉬울 것입니다! 행운을 빕니다!

+0

시도해 보았습니다 :'src/test/java' 폴더를 만들었습니다. 여러분이 제안한 빠른 방법을 구현했고, 나는 여전히 같은 메시지를 가지고 있습니다. '외부 작업 실행이 완료되었습니다 '라는 메시지가 나타납니다. cleanTest 테스트 - 테스트 이벤트가 수신되지 않았습니다. "com.my.app.MainActivityTest.testInitialAlwaysPasses'를 테스트합니다. 녹색 또는 빨간색 대신 회색 막대가 표시됩니다. 아이디어가 있습니까? – user1611830

+0

나는'assertEquals (true, false);를 시도했고 테스트는 여전히 ... – user1611830

+0

올바른 구성을 선택하지 않았습니까? 이것을 참조하십시오 http://stackoverflow.com/a/30315572/2031068 –