Ich fülle den Cursor
und FragmentManager
Wert innerhalb der PageAdapter
Klasse zu definieren, aber während des Testprozesses bringt es Cursor
und FragmentManager
als null für immer.Wie Mock Cursor für Android Unit Test
Wie kann ich Test konfigurieren, um Cursor
und FragmentManager
mit einem gültigen Wert zu erhalten?
public class PagerAdapter extends FragmentStatePagerAdapter {
private Cursor mCursor;
public PagerAdapter(FragmentManager fm, Cursor aCursor) {
super(fm);
mCursor = aCursor;
}
Prüfregeln Block ist unten:
@RunWith(MockitoJUnitRunner.class)
public class PagerAdapterTest extends Assert{
@Mock
private PagerAdapter mPagerAdapter;
private FragmentManager fm;
private Cursor mCursor;
@Before
public void setUp() throws Exception {
mPagerAdapter = new PagerAdapter(fm, mCursor);
}
Mögliches Duplikat von [Ist Java "pass-by-reference" oder "pass-by-value"?] (Https://stackoverflow.com/questions/40480/is-java-pass-by-reference-or -pass-by-value) – GhostCat
Dieser Code kann ** nicht ** funktionieren! Die Verweise 'fm' und' mCursor' werden ** nicht ** geändert, wenn Sie Variablen Variablen zuweisen, die Parameter einer Methode sind. Dies wird immer unterbrochen, nicht nur in Ihrem Komponententest. Das ist grundlegend falsch auf einem grundlegenden Java-Level. – GhostCat
Ich muss ein Objekt für den Unit-Test erstellen und füllen. Ich bin auf der Suche nach einer Möglichkeit, dies zu tun, und ich bin stecken geblieben :(Haben Sie einen Vorschlag für mich, diese Objekte auszufüllen? – hpolat