小编Geo*_*McG的帖子

loadStyleFixtures 不会在茉莉花测试中加载 css

背景是我正在尝试在 javascript 中创建一个非常基本的恒温器,然后使用 jasmine 对其进行测试。

我希望能够测试页面是否加载了某些 css(即恒温器是正确的颜色),然后更新它。检查颜色是否更新的测试通过了,但是第一次检查初始颜色是否正确的测试没有通过。

在控制台中停止测试后,我意识到 css 样式表并未应用于测试 - 尽管它确实可以在普通的本地服务器上运行。这让我觉得我使用 loadStyleFixtures 将 css 放入 jasmine 存在一些问题。

测试看起来像这样:

describe('Display', function(){

beforeEach(function(){
  thermostat = new Thermostat();
  jasmine.getFixtures().fixturesPath = '.';
  loadFixtures('temperature_change.html');
  jasmine.getStyleFixtures().fixturesPath = './public/css';
  loadStyleFixtures('stylesheet.css');
});

...

it('can start as yellow', function(){
  expect($('#temperature').css('color')).toEqual('rgb(255, 255, 0)');
});
Run Code Online (Sandbox Code Playgroud)

样式表如下所示:

body {
  background-color: navy;
  color: white;
}

#temperature { 
  color: yellow;
}
Run Code Online (Sandbox Code Playgroud)

setStyleFixtures('#temperature { color: yellow; }') 如果添加到 beforeEach 函数中也不起作用。我的补丁是使用 jquery 在 beforeEach 块中添加 css 而不是需要 css 样式表。

非常感谢任何帮助!

编辑:测试间歇性地通过 - 不知道除此之外还有什么可能是我的服务器设置问题或其他问题。

javascript css jasmine jasmine-jquery

5
推荐指数
1
解决办法
1756
查看次数

标签 统计

css ×1

jasmine ×1

jasmine-jquery ×1

javascript ×1