Junit Tests ReconnectCfgStorage

Status
Nicht offen für weitere Antworten.

tanzverfuehrung

Bekanntes Mitglied
Meine Klasse die getestet werden soll:

Java:
public class ReconnectCfgStorage extends AbstractStorage<ReconnectCfg> {

	/** */
	public static final String ATTR_RECONNECT_INTERVALL_MS = "intervallMs";
	/** */
	public static final String ATTR_RECONNECT_RETIRES = "retires";

	@Override
	protected ReconnectCfg createCfg() {
		return new ReconnectCfg();
	}

	@Override
	protected IStatus loadInternal(ReconnectCfg cfg, Preferences pref){
		cfg.setNumberOfRetries(pref.getInt(ATTR_RECONNECT_RETIRES, UNLIMITED_RETIRES));
		cfg.setReconnectIntervall(milliSeconds(pref.getInt(ATTR_RECONNECT_INTERVALL_MS, 5000)));
		return OK_STATUS;
	}

ich weiß nicht so recht was ich testen soll!und WIE?!
plugin habe ich habe schon zum fragment gemacht, das ich die methoden testen kann.
 
Zuletzt bearbeitet von einem Moderator:

XHelp

Top Contributor
Naja, du kannst ja prüfen, ob createCfg was null-verschiedenes zurückliefert und ob loadInternal das setzt, was es setzen muss.
 

tanzverfuehrung

Bekanntes Mitglied
Naja, du kannst ja prüfen, ob createCfg was null-verschiedenes zurückliefert und ob loadInternal das setzt, was es setzen muss.



Java:
public class TestReconnectCfgStorage {

	private ReconnectCfgStorage reconnectCfgStorage;
	@Before
	public void setUp() throws Exception {
		reconnectCfgStorage = new ReconnectCfgStorage();
	}
	/**
	 * Prüft ob neues Konfigurations-Objekt, niemals <code>null</code> ist.
	 * @throws Exception
	 */
	@Test
	public void testNotNullCfg() throws Exception {
		assertThat(reconnectCfgStorage.createCfg(), is(notNullValue()));
	}
	
	@Test
	public void testname() throws Exception {
		ReconnectCfg cfg = new ReconnectCfg();
		Preferences pref = new Preferences() {
			
			@Override
			public void sync() throws BackingStoreException {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void removeNode() throws BackingStoreException {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void remove(String key) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void putLong(String key, long value) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void putInt(String key, int value) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void putFloat(String key, float value) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void putDouble(String key, double value) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void putByteArray(String key, byte[] value) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void putBoolean(String key, boolean value) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void put(String key, String value) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public Preferences parent() {
				// TODO Auto-generated method stub
				return null;
			}
			
			@Override
			public boolean nodeExists(String pathName) throws BackingStoreException {
				// TODO Auto-generated method stub
				return false;
			}
			
			@Override
			public Preferences node(String pathName) {
				// TODO Auto-generated method stub
				return null;
			}
			
			@Override
			public String name() {
				// TODO Auto-generated method stub
				return null;
			}
			
			@Override
			public String[] keys() throws BackingStoreException {
				// TODO Auto-generated method stub
				return null;
			}
			
			@Override
			public long getLong(String key, long def) {
				// TODO Auto-generated method stub
				return 0;
			}
			
			@Override
			public int getInt(String key, int def) {
				// TODO Auto-generated method stub
				return 0;
			}
			
			@Override
			public float getFloat(String key, float def) {
				// TODO Auto-generated method stub
				return 0;
			}
			
			@Override
			public double getDouble(String key, double def) {
				// TODO Auto-generated method stub
				return 0;
			}
			
			@Override
			public byte[] getByteArray(String key, byte[] def) {
				// TODO Auto-generated method stub
				return null;
			}
			
			@Override
			public boolean getBoolean(String key, boolean def) {
				// TODO Auto-generated method stub
				return false;
			}
			
			@Override
			public String get(String key, String def) {
				// TODO Auto-generated method stub
				return null;
			}
			
			@Override
			public void flush() throws BackingStoreException {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void clear() throws BackingStoreException {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public String[] childrenNames() throws BackingStoreException {
				// TODO Auto-generated method stub
				return null;
			}
			
			@Override
			public String absolutePath() {
				// TODO Auto-generated method stub
				return null;
			}
		};
		System.out.println(reconnectCfgStorage.loadInternal(cfg, pref));
		assertThat(reconnectCfgStorage.loadInternal(cfg, pref),is(IStatus.OK));
		assertThat(reconnectCfgStorage.loadInternal(cfg, pref), is(notNullValue()));
	}

}

also das sind bis jetzt meine Junit tests,
lasse ich diese zeile weg
Java:
assertThat(reconnectCfgStorage.loadInternal(cfg, pref),is(IStatus.OK));
dann leuchten sie alle grün!aber ich muss doch prüfen ob der Staus ok is!!!!
also brauche ich ja die zeile aber da kriege ich enn fehler:
"The method assertThat(T, Matcher<T>) in the type Assert is not applicable for the arguments (IStatus, Matcher<capture#1-of ? super Integer>)"

ja und um die methode
Java:
loadInternal(ReconnectCfg cfg, Preferences pref){
zu testen, muss ich ja erst mal ein ReconnectCfg -objekt und ein Preferences -objekt erzeugen oder nicht.
Java:
ReconnectCfg cfg = new ReconnectCfg();
		Preferences pref = new Preferences() {....}

doch wenn ich ein Preferneces objekt erzeuge,kommen die ganzen methoden!
ist das flasch?
oder muss das so sein???????:L
 

tanzverfuehrung

Bekanntes Mitglied
Naja, du kannst ja prüfen, ob createCfg was null-verschiedenes zurückliefert und ob loadInternal das setzt, was es setzen muss.


genauso wie ich nicht verstehe...wenn ich den test so baue

Java:
@Test
	public void testname1563() throws Exception {
		assertThat(reconnectCfgStorage.createCfg(), is(new ReconnectCfg()));
	}

schlägt der test fehl!und es kommt die fehler meldung:

java.lang.AssertionError:
Expected: is <ReconnectCfg{retries=-1, interval=Duration [ms=5000]}>
got: <ReconnectCfg{retries=-1, interval=Duration [ms=5000]}>



aber das ergibt doch kein sinn!:bahnhof::bahnhof:
weil das erwartene und das aktuelle gleich sind.
verstehe ich garnicht???:L???:L???:L???:L???:L???:L
 

XHelp

Top Contributor
Warum sollen die gleich sein? Hast du auch equals usw überschrieben? Prüfe einfach, ob das nicht null ist.
 

tanzverfuehrung

Bekanntes Mitglied
Warum sollen die gleich sein? Hast du auch equals usw überschrieben? Prüfe einfach, ob das nicht null ist.
naja weil is und got doch immer gleich sein muss das der test grün wird;)

ja das habe ich ja schon
Java:
 /**
     * Prüft ob neues Konfigurations-Objekt, niemals <code>null</code> ist.
     * @throws Exception
     */
    @Test
    public void testNotNullCfg() throws Exception {
        assertThat(reconnectCfgStorage.createCfg(), is(notNullValue()));
    }
funktioniert auch!
kannst dir eventuell für die andere methode noch den test angucken,beitrag davor?
wäre sehr lieb:oops:;(
 

tanzverfuehrung

Bekanntes Mitglied
so habe jetzt fast alles tests es fehlt mir nur noch einer
:
Prüft ob die richtigen Konfiguration auf den übergebenen Preferences geladen und zurück gegeben werden.

Java:
  public class TestReconnectCfgStorage {

	private ReconnectCfgStorage reconnectCfgStorage;	
	private SimplePreferences pref;
	@Before
	public void setUp() throws Exception {
		reconnectCfgStorage = new ReconnectCfgStorage();
		pref = new SimplePreferences("name",null);
	}
	/**
	 * Prüft ob neues Konfigurations-Objekt, niemals <code>null</code> ist.
	 * @throws Exception
	 */
	@Test
	public void testNotNullCfg() throws Exception {
		assertThat(reconnectCfgStorage.createCfg(), is(notNullValue()));
	}
	/**
	 * Prüft ob die Standard Werte beim erzeugen einer Configuration gesetzt werden.
	 * @throws Exception
	 */
	@Test
	public void testCfg() throws Exception {
		ReconnectCfg cfg = reconnectCfgStorage.createCfg();
		assertThat(cfg.getNumberOfRetries(), is(ReconnectCfg.UNLIMITED_RETIRES));
		assertThat(cfg.getReconnectIntervall(), is(seconds(5)));

		}
	/**
	 * Prüft ob die Preferences aus denen die Konfiguration geladen werden soll, nie <code>null</code> ist.
	 * @throws Exception
	 */
	@Test
	public void testNotNullValue() throws Exception {
		assertThat(reconnectCfgStorage.load(pref), is(notNullValue()));
	}
	/**
	 * Prüft ob eine {@link AssertionFailedException} ausgelöst wird, wenn der übergebene Parameter <code>null</code> ist.
	 * @throws Exception
	 */
	@Test(expected=AssertionFailedException.class)
	public void testNullException() throws Exception {
		reconnectCfgStorage.load(null);
	}
	
	/**
	 * Prüft ob die richtigen Konfiguration auf den übergebenen Preferences geladen und zurück gegeben werden.
	 * @throws Exception
	 */
	@Test
	public void testLoad() throws Exception {
		pref.putInt(reconnectCfgStorage.ATTR_RECONNECT_RETIRES,1);
		StorageResult<ReconnectCfg> sr = reconnectCfgStorage.load(pref);
	//		assertThat(sr.getStatus().isOK(), is());
}
}

assertThat(sr.getStatus().isOK(), is());
is?!
ist was?

kann mir da jemand weiter helfen???:L
 
T

Tomate_Salat

Gast
du magst die Edit-Funktion nicht sonderlich, oder?

Edit ich wittere einen maki vs tanzverfuehrung-Thread in naher Zukunft auf uns zukommen :)
 
Zuletzt bearbeitet von einem Moderator:
M

maki

Gast
du schon wieder:rolleyes:

man man man.....:pueh:....hat man ein problem, wird einem nicht geholfen.
sagt man seine meinung, mischt sich gleich wieder jeder ein oder was?!


:rolleyes:



und nur mal so, das sind keine HAUSAUFGABEN!:rolleyes:
Deine Meinung kannst du für dich behalten, du kommst hierher weil du Hilfe brauchst und im Gegenzug NULL zurückgibst, bis auf frechheiten.

"Hausaufgaben" war wohl optimistisch von mir, im Endeffekt sollen wir hier deine Arbeit machen.
 

tanzverfuehrung

Bekanntes Mitglied
Deine Meinung kannst du für dich behalten, du kommst hierher weil du Hilfe brauchst und im Gegenzug NULL zurückgibst, bis auf frechheiten.

"Hausaufgaben" war wohl optimistisch von mir, im Endeffekt sollen wir hier deine Arbeit machen.


:lol:dich hat auch keiner nach deiner meinung gefragt mäuschen!!!!!
frag mich was das soll?!hast zu viel langeweile,dass du mich dauert zu labberst.... dann könntest du ja mal meine arbeit machen!....
du hast kein recht zu behaupten das ihr meine arbeit machen sollt!
denn das verlange ich nicht!!!!!!!!
ich brauche nur tipps...wozu ja das forum auch da ist!!!!(oder täusche ich mich?!?!)
und tut mir ja leid, das ich anfänger bin aber habe nun mal keine ahnung und kann deswegen auch nicht helfen!:shock::eek:


und nun such dir ne beschäftigung!!und lass mich in ruhe!!:bloed::mad::rolleyes::rolleyes:
 
M

maki

Gast
Solltest die Verwarnung ernst nehmen, und ein paar Manieren aneignen

*geschlossen*
 

Noctarius

Top Contributor
Auch wenn es schon zu ist: Ich kann maki hier nur beipflichten. Wenn sich schon einer die Mühe macht dir zu helfen wie XHelp dann könnte man wenigstens mal danke sagen und wenn er noch so wenig geholfen hat... Manieren und Sitten scheinen langsam echt auszusterben!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben