2010-12-28 2 views
2

У меня есть базовый сценарий: тестовый проект, в нем - один тестовый класс, не меньше, не более того. Код класса теста заключается в следующем:android: новый вопрос об Android Unit Testing?

public class SManagerTest extends AndroidTestCase { 

private SManager sm; 

public SManagerTest(){ 
    sm = SManager.getInstance(getContext()); 
} 

@Test 
public void trainTest(){ 
    sm.go(); 
} 

}

Что случилось? потому что я получаю это:

Test run failed: Test run incomplete. Expected 1 tests, received 0 

Спасибо!

+0

Как вы проводите тесты? Они работают, если вы начинаете имя метода с помощью «теста» вместо использования аннотации? –

+0

Я думаю, что ваша настройка проекта должна быть включена, чтобы получить точный ответ. Тем не менее вы можете проверить это за это время: http://code.google.com/p/android/issues/detail?id=2271 –

ответ

1

Согласитесь с Кристофером - запустите имя метода с помощью «теста», даже если вы добавляете декоратор @Test. Кроме того, добавить этот класс в той же папке, что и тесты, и он будет выполнять все ваши тесты:

public class AllTests extends TestSuite 
{ 
    public static Test suite() 
    { 
     return new TestSuiteBuilder(AllTests.class).includeAllPackagesUnderHere().build(); 
    } 

} 
+0

Yep, JUnit 3 (на что Android стоит) игнорирует аннотацию @Test. – Xian

2

Как указывалось ранее использовать «тест» с маленькой буквы и не забудьте запустить его как " Android JUnit Test "