Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2茉莉花测试图像源_Angular_Karma Jasmine_Gulp Karma - Fatal编程技术网

Angular2茉莉花测试图像源

Angular2茉莉花测试图像源,angular,karma-jasmine,gulp-karma,Angular,Karma Jasmine,Gulp Karma,我有一个模板中有图像的组件 <div class="logo"><img src="../images/logo.png"/></div> 要说应用程序渲染图像很好,只有因果报应在抱怨 任何建议都将不胜感激。假设您正在使用karma jasmine运行测试。这些文件将托管在端口9876上 假设您的img src是/assets/images/logo.png,那么您应该期望src是http://localhost:9876/assets/images/lo

我有一个模板中有图像的组件

 <div class="logo"><img src="../images/logo.png"/></div>
要说应用程序渲染图像很好,只有因果报应在抱怨


任何建议都将不胜感激。

假设您正在使用karma jasmine运行测试。这些文件将托管在端口9876上


假设您的img src是
/assets/images/logo.png
,那么您应该期望src是
http://localhost:9876/assets/images/logo.png
而不仅仅是
/assets/images/logo.png

您可以尝试以下方法:

it('should render the logo', async(() => {
  const fixture = TestBed.createComponent(AppComponent);
  fixture.detectChanges();
  const compiled = fixture.debugElement.nativeElement;
  expect(compiled.querySelector('div.logo>img').src).toContain('/images/logo.png');
}));

您还可以使用karma.conf.js中的proxies和files属性为文件提供服务并对其进行代理

添加要在文件属性中提供的文件

{ pattern: './src/assets/**', watched: false, included:false, served:true, nocache:false }
proxies: {
   '/assets/': '/base/src/assets/'
}
此外,要使用不同的url/路径代理这些文件,请更新proxies属性

{ pattern: './src/assets/**', watched: false, included:false, served:true, nocache:false }
proxies: {
   '/assets/': '/base/src/assets/'
}

现在,当您尝试访问
http://localhost:9876/assets/logo.png
这将是对
src/assets/logo.png
的代理调用(所有src资产也可以这样访问
http://localhost:9876/base/src/assets/logo.png

这应该是公认的答案。我自己就试过了,效果很好。这验证了image元素是否存在,以及源是否指向特定的URL字符串。但是,如何检查“/images/logo.png”是否确实存在?请提供一个代码示例,我认为这正是提问者想要的。