Запускать ванильные тесты JUnit для отдельных классов в проекте Android Eclipse JUnit

Я дергаю себя за волосы, пытаясь запустить простой ванильный тест JUnit на моем проекте Android. Я хочу написать тест для класса POJO, который не использует объекты Android. На самом деле, я даже не могу заставить работать тест, который ничего не тестирует!

Я прочитал документацию Google "Основы тестирования", бесчисленное множество вопросов SO, и я думаю, что достиг новой вершины глупости, так как я, кажется, далеко не так далеко, как кто-либо в истории Android.

Мое лучшее предположение о том, что я должен делать, это:

  1. Создайте новый проект Android. Я уже разработал свое прототипное приложение с действиями, POJO и всем остальным - оно отлично работает на моем телефоне. "MyExample"
  2. В окне Eclipse "Package Explorer". В проекте Android, который я хочу протестировать, в элементе папки "src" я щелкаю правой кнопкой мыши на элементе пакета: "com.example.myexample", выбираю "New" > "Other".... ",
  3. Затем во всплывающем окне выберите "Android" > "Android Test Project"
  4. В текстовом поле "Имя проекта" я ввожу "TestMyProject" и нажимаю кнопку "Далее".
  5. Выберите переключатель "Существующий проект Android", выберите "MyExample" и нажмите кнопку "Готово".
  6. В "Обозревателе пакетов" разверните "TestMyExample", щелкните правой кнопкой мыши на пакете "com.example.myexample.test", выберите "Создать" > "JUnit Test Case".
  7. В этом всплывающем окне введите имя "MyTestCase".

Затем я ввожу следующее в файл Java:

package com.example.myexample.test;

import junit.framework.TestCase;

public class MyTestCase extends TestCase {

    public void testHelloWorld(){

        assertTrue("Hello World Error", false);

    }

}

Наконец, я щелкаю правой кнопкой мыши по файлу в проводнике пакетов, выбираю "Запуск от имени" > "Тест JUnit", затем во всплывающем окне выбираю "Использовать специфические параметры конфигурации", выбираю "Средство запуска Eclipse JUnit" и нажимаю "ОК". кнопка.

Я получаю эту ошибку в окне консоли:

Invalid layout of java.lang.String at value
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (javaClasses.cpp:136), pid=5216, tid=2756
#  fatal error: Invalid layout of preloaded class

Кажется, я получаю различные ошибки "Неверный макет" в зависимости от того, какую процедуру я использую.

Пожалуйста помоги!!

1 ответ

Решение

Если в вашем вопросе нет опечатки, одной из возможных проблем является то, как вы пытаетесь их запустить.

Выберите Run As -> Android JUnit test вместо просто JUnit test. Это потому, что эти тесты должны выполняться на устройстве, поэтому сборка немного сложнее, чем для обычных тестов JUnit.

Я предполагаю, что вы уже прочитали документы, но это легко пропустить.

Другие вопросы по тегам