2016-07-20 14 views
0

Ich habe drei Radio-Buttons in einer Gruppe hinzugefügt und es funktioniert gut, wenn ich Seite aus dem Browser laden.Feuerereignis in gwt Java Test nicht den Wert der Checkbox ändern

Java-Code:

@UiHandler({ 
"RadioButton1", 
"RadioButton2", 
"RadioButton3" 
}) 
void radioButtonClickHandler(ClickEvent event){ 
    if(RadioButton1.getValue()){ 
    // do something 
    } else if(RadioButton2.getValue()) { 
    // do something 
    } else if (RadioButton3.getValue()){ 
    // do something 
    } 
} 

Ich versuche, Testfälle für diese Funktion zu schreiben.

public void TestRadio1ClickEvent(){ 
    // all values set 
    // Value of Radiobutton2 set to true 
    view.RadioButton1.fireEvent(new ClickEvent() {}); 

    assertTrue(view.RadioButton1.getValue()); 
    assertFalse(view.RadioButton2.getValue()); 
    assertFalse(view.RadioButton3.getValue()); 
} 

Die Werte der Optionsfelder ändern sich nicht, wenn ich ein Klickereignis auslöst. Der Wert von RadioButton1 bleibt falsch und RadioButton2 bleibt True.

Ich kann Werte in Click-Handler manuell festlegen, aber ich möchte das nicht tun. Wie unterscheidet sich das Klicken auf den Button vom feuernden Event? Klicken Sie auf Optionsfeld ändern und dann Click-Handler aufrufen?

Antwort

1

Verwenden Sie die folgende Methode auf dem Optionsfeld. setValue (java.lang.Boolean Wert, boolean fireEvents)

radioButton.setValue(true,true)