Подтвердить что ты не робот

Тестирование неактивных классов в Android

Я знаю, как тестировать классы активности с JUnit 4 в Android, но я не могу понять, как тестировать классы без активности (которые не расширяют Activity, ListActivity или какой-либо другой класс Activity, но используют некоторые API Android), Пожалуйста, помогите мне в этом отношении.

4b9b3361

Ответ 1

Чтобы проверить классы неактивности:

  • создать тестовый проект
  • создать тестовый пример
  • запускается под Android JUnit Test

    public class MyClassTests extends TestCase {
    
    /**
     * @param name
     */
    public myClassTests(String name) {
        super(name);
    }
    
    /* (non-Javadoc)
     * @see junit.framework.TestCase#setUp()
     */
    protected void setUp() throws Exception {
        super.setUp();
                }
    
    /* (non-Javadoc)
     * @see junit.framework.TestCase#tearDown()
     */
    protected void tearDown() throws Exception {
        super.tearDown();
    }
    
    /**
     * Test something
     */
    public final void testSomething() {
                fail("Not implemented yet");
        }
    }
    

Ответ 2

В Android SDK включен JUnit. На самом деле, тестовые классы Android, такие как AndroidTestCase и InstrumentationTestCase, наследуются от junit.framework.TestCase. Это означает, что вы можете использовать стандартный тестовый пример JUnit для тестирования класса без активности и включить его в проекты Android.

Например, вы можете создать проект Android с простым классом для тестирования:

public class MyClass {
    public static int getOne() {
        return 1;
    }
}

и Android Test Project со стандартным тестом JUnit для тестирования этого класса:

public class TestMyClass extends TestCase {

  public void testMyClass() {
      assertEquals(1, MyClass.getOne());
  }
}

и запустить его на устройстве Android или на эмуляторе Android.

Дополнительная информация после просмотра разъяснения вопроса в комментариях:

AndroidTestCase или другие тестовые классы Android могут использоваться для тестирования классов без активности, которым необходим доступ к остальной части фреймворка Android (при необходимости, при наличии фиктивной активности, предоставляемой в setUp()). Это дает вам доступ к контексту, если вам нужно, например, привязать к службе.