2013-03-19 21 views
5

için bazı çakışmalar olmalı. Android uygulamam için robolectric kurmaya çalışıyorum. Ana kodumun bir alt modülü ve bir dış kütüphanesi var ve Maven'i kullanmıyorum.java.lang.IllegalStateException: resourceIdToResName

i testi çalıştırmayı denediğinizde kurulum için steps bir robolectric proje sonrasında aşağıdaki hatayı

verdikten sonra
java.lang.IllegalStateException: there must have been some overlap for resourceIdToResName! expected 3014 but got 3013 
    at org.robolectric.res.MergedResourceIndex.merge(MergedResourceIndex.java:20) 
    at org.robolectric.res.MergedResourceIndex.<init>(MergedResourceIndex.java:12) 
    at org.robolectric.res.RoutingResourceLoader.<init>(RoutingResourceLoader.java:22) 
    at org.robolectric.RobolectricTestRunner.createAppResourceLoader(RobolectricTestRunner.java:631) 
    at org.robolectric.RobolectricTestRunner.getAppResourceLoader(RobolectricTestRunner.java:614) 
    at org.robolectric.internal.ParallelUniverse.setupApplicationState(ParallelUniverse.java:35) 
    at org.robolectric.RobolectricTestRunner.setupApplicationState(RobolectricTestRunner.java:414) 
    at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:297) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
    at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:241) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 

kimse onunla bana yardımcı olabilir! ResourceIdToResName haritalarını iki kaynaktan birleştirmeye çalışır, bu kaynaklar nelerdir?

Teşekkür

+0

Bazıları bunu anladı. Aynı Hata – SaKet

+0

Ben de bu hatayı aldım! – Martin

+0

[This] (https://github.com/robolectric/robolectric/issues/618) size yardımcı olabilir – Thrakbad

cevap

1

Bu sorun muhtemelen ana projeler res klasöründe şey, muhtemelen bir düzen xml dosyası neden olur.

Bu proje, sınama projesi çalıştırılıncaya kadar dosyaları sil klasörünüzden analiz etmek için. Hatalı dosyayı bulmak için deneme dosyalarını silerken ana projedeki hataları derleyin, test projenizin çalışmasını durdurmaz, ancak R.java'nın üretilmesini engelleyen kaynak hataları olmamalıdır.

Benim sorun aşağıdaki gibi bir düzen dosyasında bir hataydı:

<TextView android:id="@+android:id/actualValue" 

<TextView android:id="@+id/actualValue" 

her şeyi değiştirdikten sonra iyi çalıştı.

İlgili konular