GWT是否支持在GWTTestCase期间包含样式表?

GWT是否支持在GWTTestCase期间包含样式表?,gwt,junit,gwttestcase,Gwt,Junit,Gwttestcase,我有一些简单的GWT客户端代码,我想使用GWTTestCase和GWTTestSite进行测试 但是,这些测试需要使用一些CSS样式表(仅用于测试) 我的第一次尝试是: 定义提供用于测试的CSS文件的ClientBundle 在mygwtSetUp()中,在调用我的测试之前,调用'ensureInjected()方法添加CSS文件 例如,测试CSS样式是否应用于DOM中的特定元素 代码: assertEquals(“蓝色”,element.getStyle().getBorderColor())

我有一些简单的GWT客户端代码,我想使用
GWTTestCase
和GWTTestSite进行测试

但是,这些测试需要使用一些
CSS样式表
(仅用于测试)

我的第一次尝试是:

  • 定义提供用于测试的CSS文件的
    ClientBundle
  • 在my
    gwtSetUp()
    中,在调用我的测试之前,调用'ensureInjected()方法添加CSS文件
  • 例如,测试CSS样式是否应用于DOM中的特定元素
  • 代码:

    assertEquals(“蓝色”,element.getStyle().getBorderColor());
    
    我没有收到任何错误,但这似乎不起作用。

    查看控制台的日志(在Junit测试期间),我发现:

    正在初始化ResourceGenerator
    发现可操作的CSS源亚型
    计算CSS类替换
    准备方法css
    查找资源
    正在分析CSS样式表文件:/D:/Workspace/libraries/gwt text/gwt text/src/test/java/com/t/i/client/CSSDecorationTest.CSS
    扫描CSS以查找需求
    创建字段
    正在为css()创建分配
    创建图像精灵类
    替换基于属性的@if块
    替换CSS类名
    在节点边框颜色中执行替换:

    我的css文件包含:

    .d{
    边框颜色:蓝色;
    }
    
    编辑 请参阅此链接:


    这是错误的方法,因为getStyle不提供CSS计算样式。太糟糕了。

    如果您不需要对CSS做任何特殊的处理(即它是一个简单的CSS,而不是
    CssResource
    ),那么您只需创建一个专用于测试的GWT模块(
    GWT.xml
    文件)(将其设置为
    您的被测模块,并让您的
    GWTTestCase
    getModuleName
    返回测试特定模块的名称,而不是被测模块的名称),您可以在其中添加
    以包含样式表(最简单的方法是,如果样式表仅用于测试,请将其放在测试特定的
    gwt.xml
    文件旁边的
    public
    子文件夹中)。

    或者,像您那样使用
    CssResource
    ,您可能希望在调用
    ensureInjected()
    之后立即调用