2016-03-23 20 views
1

"PASS" mesajlarının citi çalıştırırken görünmesiyle ilgili sorunları yaşıyorum. Koştuğumda hiçbir şey olmuyor. System.out da çıkmıyor. Neyi yanlış yaptığımdan emin değilim. Herhangi bir fikir?Android Studio'daki Junit

FullTestSuite.java

import android.test.suitebuilder.TestSuiteBuilder; 
import junit.framework.Assert; 
import junit.framework.Test; 
import junit.framework.TestSuite; 
import java.util.ArrayList; 
import static org.junit.Assert.*; 
import cen4910.ucf.edu.aaa_android_auto.pojo.Driver; 

public class FullTestSuite { 
    public static void main(String [] args) 
    { 
     DriverTest.test(); 
     /* 
     Driver testDriver = new Driver("password", "john", "smith", "[email protected]"); 
     AssertNotNull(testDriver); 
    } 
} 

DriverTest.java

import pojo.Driver; 
import static org.junit.Assert.*; 

public class DriverTest { 
    public static void test() { 
     Driver testDriver = new Driver("password", "john", "smith", "[email protected]"); 
     assertNotNull(testDriver); 
     if (testDriver == null) { 
      System.out.println("Success!"); 
     } 
     else { 
      System.out.println("Failure!"); 
     } 
    } 
} 
+0

kafam karıştı. Neden ana yönteminiz var? Test sınıflarınızı 'src/main/test' altından oluşturun ve test metodlarınıza' Test 'yazın. –

+0

'System.out.println' gerekmez. Testler geçer geçmez veya başarısız olursa size söyleyecektir. Ayrıca, iddia yerine getirilmezse "Başarısızlık" bile yazdırılmaz. –

cevap

2

I have not Android Studio kullanır, ama senin kodunda bir JUnit TestCase görmüyorum.

@Test ile TestCase açıklama deneyin. JUnit testlerini başlatmak için bir ana yöntem gerekli değildir.

Belki favori IDE bir JUnit testi için nasıl temellerini ve bedeli bir JUnit öğretici okumalısınız.

import pojo.Driver; 
import static org.junit.Assert.*; 
import org.junit.Test; 

public class DriverTest { 

    @Test 
    public void test() { 
     Driver testDriver = new Driver("password", "john", "smith", "[email protected]"); 
     assertNotNull(testDriver); 
    } 
} 
+1

Ve if/else cümlesi gerekli değildir. Yani, testin geçip geçmediğini “assertNotNull” araması belirleyecektir. –

+1

yapamazsınız. Test o zaman ve o anda başarısız olur ve eğer başarısız olursa if bloğuna bile ulaşamaz. – sircapsalot

+0

Anladığım kadarıyla, cihaza geçecek mi, yoksa başarısız olacak mı, sistem.out gereksiz mi, ama hiç çıktı almıyorum. Geçiş/Başarısızlık, tutulmada olduğu gibi hiç görünmez. Ben android stüdyosunu yapmaya alışkın değilim. @Test ekledim, ancak FullTestSuite.java çalıştırdığımda yine de pass/failed görünmeyecek. – user6680