Pergunta

Desenvolvi um aplicativo Android para o qual estou criando testes de unidade.Criei um segundo projeto (com o sufixo ".test" como nome do projeto) e selecionei o projeto original como destino.

Meu projeto original inclui alguns arquivos JAR externos.

Não consigo acessar todos os métodos dos meus testes sem fazer referência a esses arquivos JAR também no caminho de construção do meu projeto de teste.Por exemplo, recebo este erro:

The type com.j256.ormlite.android.apptools.OrmLiteBaseService cannot be resolved. It is indirectly referenced from required .class files

Os testes funcionam corretamente (quando não acessamos esses métodos).

Se eu incluir os arquivos JAR necessários no caminho de construção do projeto de teste, recebo este erro:

05-16 15:59:03.732: INFO/TestRunner(1222): java.lang.NoClassDefFoundError: sw6.visualschedule.persistence.DatabaseHelper
05-16 15:59:03.732: INFO/TestRunner(1222):     at sw6.visualschedule.test.ScheduleActivityTest.setUp(ScheduleActivityTest.java:22)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestCase.runBare(TestCase.java:125)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestResult$1.protect(TestResult.java:106)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestResult.runProtected(TestResult.java:124)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestResult.run(TestResult.java:109)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestCase.run(TestCase.java:118)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

Como posso resolver o NoClassDefFoundError?Estou muito confuso, pois se refere a uma classe dentro do meu projeto e funciona quando o arquivo JAR externo não está incluído no caminho de construção.

Estou usando o Eclipse no OSX, se isso tiver alguma influência.

Foi útil?

Solução

Exporte essas bibliotecas para o projeto de teste, mas consulte-as no projeto de teste

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top