Je prévoyais d'écrire un test élémentaire pour l'une de mes méthodes auxiliaires dans GWT.Cas de test de l'unité GWT
Erreur d'obtention indiquant que ERREUR: GWT.create() est uniquement utilisable dans le code client! Il ne peut pas être appelé, par exemple, à partir du code du serveur. Si vous exécutez un test unitaire, vérifiez que votre scénario de test étend GWTTestCase et que GWT.create() n'est pas appelé depuis un initialiseur ou un constructeur.
Quand je debug, je vois que l'erreur est originaire de la ligne
NumberFormat formatter = NumberFormat.getCurrencyFormat();
dans mon code. Aide aimablement.
Ceci est mon code:
TestCase:
public class CurrencyFormatterTest extends GWTTestCase {
private CurrencyFormatter currencyFormatter = new CurrencyFormatter();
public void testCurrencyFormatForActualCurrencyString() {
String formattedString = currencyFormatter.format(" 123456.78999");
assertEquals("US$123,456.79", formattedString);
}
@Override
public String getModuleName() {
return null;
}
}
code à tester
public class CurrencyFormatter implements Formatter {
@Override
public String format(Object value) {
if (value == null || value.equals("")) {
return "";
}
Double val = Double.parseDouble(value.toString());
NumberFormat formatter = NumberFormat.getCurrencyFormat();
String formattedValue = formatter.format(val);
return formattedValue;
}
}
J'ai fait de même. Je vois que l'exécution du cas de texte prend vraiment beaucoup de temps (comme 4 à 5 secondes). Des raisons spécifiques? – LPD
['GWTTestCase' est la raison] (http://www.gwtproject.org/doc/latest/DevGuideTesting.html): il lance un serveur web et une session DevMode avec une" émulation de navigateur "HtmlUnit. Jetez également un coup d'œil à [gwt-mockito] (https://github.com/google/gwtmockito), [gwt-test-utils] (https://github.com/gwt-test-utils/gwt-test- utils) et la classe GWTMockUtilities du kit de développement logiciel GWT. –