我正在使用grunt / karma / phantomjs / jasmine对我的指令之一(angularjs)进行单元测试。我的测试运行正常
describe('bar foo', function () {
beforeEach(inject(function ($rootScope, $compile) {
elm = angular.element('<img bar-foo src="img1.png"/>');
scope = $rootScope.$new();
$compile(elm)();
scope.$digest();
}));
....
});
但我确实得到了这些404
WARN [web-server]: 404: /img1.png
WARN [web-server]: 404: /img2.png
...
尽管它们什么也不做,但它们确实会在日志输出中增加噪音。有没有办法解决这个问题 ?(当然,无需更改业力的logLevel,因为我确实希望看到它们)
那是因为您需要配置业力以进行加载,然后在需要时为它们提供服务;)
在您的karma.conf.js文件中,您应该已经定义了文件和/或模式,例如:
// list of files / patterns to load in the browser
files : [
{pattern: 'app/lib/angular.js', watched: true, included: true, served: true},
{pattern: 'app/lib/angular-*.js', watched: true, included: true, served: true},
{pattern: 'app/lib/**/*.js', watched: true, included: true, served: true},
{pattern: 'app/js/**/*.js', watched: true, included: true, served: true},
// add the line below with the correct path pattern for your case
{pattern: 'path/to/**/*.png', watched: false, included: false, served: true},
// important: notice that "included" must be false to avoid errors
// otherwise Karma will include them as scripts
{pattern: 'test/lib/**/*.js', watched: true, included: true, served: true},
{pattern: 'test/unit/**/*.js', watched: true, included: true, served: true},
],
// list of files to exclude
exclude: [
],
// ...
您可以在这里查看更多信息:)
编辑: 如果您使用nodejs网络服务器来运行您的应用程序,则可以将其添加到karma.conf.js中:
proxies: {
'/path/to/img/': 'http://localhost:8000/path/to/img/'
},
EDIT2:
如果您不使用或不想使用其他服务器,则可以定义本地代理,但是由于Karma不提供对正在使用的端口的访问,因此,如果karma在非9876(默认)端口上启动,则您仍会动态得到那些烦人的404
…
proxies = {
'/images/': '/base/images/'
};
相关问题:https :
//github.com/karma-runner/karma/issues/872
问题内容: 这是我的java类: 这是单元测试: 测试失败,因为没有任何人注入。我应该如何正确处理这种情况?是否存在最佳实践? 问题答案: 如果没有像Spring这样的容器(或诸如基于Spring的Unitils之类的容器),则必须手动注入实体管理器。在这种情况下,您 可以 将以下内容用作基类:
问题内容: Jenkins已经构建了我的Maven Java项目。我希望在Jenkins中显示业力单元测试的结果,但不幸的是,我无法在Jenkins中引入任何配置更改。应如何配置业力以实现这一目标? 问题答案: 为了让Jenkins能够解析业力测试结果,它们必须以Junit XML格式发布,该格式的插件是karma-junit-reporter junit测试结果(在业力配置文件中)必须存储在
问题内容: 我想在单元测试中获取一个JSON文件,因为我需要在测试中使用它,但是我不知道如何包含该文件 我用业力和茉莉花进行测试。我的项目是使用Angular 2创建的。 我的JSON文件的名称是。 有人知道我如何将JSON文件包含到规范文件中吗? 谢谢 更新 我尝试使用HTTP get,但是我得到了一个系统 然后我得到这个错误: 问题答案: 有很多方法可以做到这一点: 如果在应用程序内部,则导入
问题内容: 我正在尝试为程序中用来验证表单的简单bean编写单元测试。Bean带有注释,并具有使用初始化的类变量 我想为此类中的验证方法编写单元测试,但是,如果可能的话,我希望在不利用属性文件的情况下这样做。我这样做的原因是,如果我从属性文件中提取的值发生更改,我希望这不会影响我的测试用例。我的测试用例正在测试验证值的代码,而不是值本身。 有没有一种方法可以在测试类中使用Java代码来初始化Jav
所以,我的问题是,我正在尝试为我的应用程序进行单元测试。我有两个服务,我们叫它们Foo和Bar,Foo只是Bar的代理。 因此,Foo服务的路由器如下所示: 向Bar服务发出请求的处理程序如下所示: 当我这样写测试时: 它永远冻结了......嗯,我想这是因为它周围的一些协程魔法,但是因为我在这方面还是新手,我不明白这里到底发生了什么。有什么帮助吗?
我试图为一个简单的bean编写单元测试,这个bean在我的程序中用来验证表单。bean使用进行注释,并具有一个使用 我想为这个类中的验证方法编写单元测试,但是,如果可能的话,我希望在不使用属性文件的情况下这样做。我的理由是,如果我从属性文件中提取的值发生了变化,我希望这不会影响我的测试用例。我的测试用例测试的是验证值的代码,而不是值本身。 有没有一种方法可以在我的测试类中使用Java代码来初始化一