GWT单元测试用例



我计划在GWT中为我的一个助手方法编写一个单元测试用例。

我收到一个错误,说错误:GWT.create()只能在客户端代码中使用!例如,不能从服务器代码中调用它。如果您正在运行单元测试,请检查您的测试用例是否扩展了GWTTestCase,以及GWT.create()是否不是从初始化器或构造函数中调用的

当我调试时,我看到错误源于行

我的代码中的NumberFormat formatter = NumberFormat.getCurrencyFormat();。请帮忙。

这是我的代码:

测试用例:

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;
    }
}

待测试代码

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;
    }
}

如果getModuleName返回null,那么您的测试就像任何其他JUnit测试一样运行,即而不是GWT上下文中

使getModuleName返回您的模块的名称(您传递给GWT编译器的名称,或者您将在另一个GWT模块中<inherit>的名称),以切换到以GWT的形式运行

相关内容

  • 没有找到相关文章

最新更新