Angularjs Jasmine和PhantomJS的角度JS测试,0错误

Angularjs Jasmine和PhantomJS的角度JS测试,0错误,angularjs,unit-testing,phantomjs,karma-jasmine,angular-mock,Angularjs,Unit Testing,Phantomjs,Karma Jasmine,Angular Mock,module.exports=函数(配置){ config.set({ //用于解析所有模式(例如文件、排除)的基本路径 基本路径:“”, //要使用的框架 //现有框架:https://npmjs.org/browse/keyword/karma-adapter 框架:['jasmine'], //要在浏览器中加载的文件/图案列表 档案:[ “../scripts/bower_components/angularjs/angular.js”, “../scripts/bower_compone

module.exports=函数(配置){
config.set({
//用于解析所有模式(例如文件、排除)的基本路径
基本路径:“”,
//要使用的框架
//现有框架:https://npmjs.org/browse/keyword/karma-adapter
框架:['jasmine'],
//要在浏览器中加载的文件/图案列表
档案:[
“../scripts/bower_components/angularjs/angular.js”,
“../scripts/bower_components/angular mocks/angular mocks.js”,
“../scripts/app.js”,
“../scripts/11.js”,
“../scripts/controllers/*.js”,
“../scripts/directives/*.js”,
“../scripts/services/*.js”,
“controllers/controllersTests.js”,
],
//要排除的文件列表
排除:[
],
//在将匹配文件提供给浏览器之前对其进行预处理
//可用的预处理器:https://npmjs.org/browse/keyword/karma-preprocessor
预处理器:{
},
//要使用的测试结果报告器
//可能值:“点”、“进度”
//现有记者:https://npmjs.org/browse/keyword/karma-reporter
记者:[进展],,
//web服务器端口
港口:9876,
//启用/禁用输出中的颜色(报告器和日志)
颜色:对,
//记录级别
//可能值:config.LOG_DISABLE | | config.LOG_ERROR | | config.LOG_WARN | | config.LOG_INFO | | config.LOG_DEBUG
日志级别:config.LOG\u INFO,
//启用/禁用监视文件并在任何文件更改时执行测试
自动观察:没错,
//启动这些浏览器
//可用的浏览器启动器:https://npmjs.org/browse/keyword/karma-launcher
浏览器:['PhantomJS','PhantomJS_custom'],
自定义启动器:{
“幻影自定义”:{
base:'PhantomJS',
选项:{
windowName:“我的窗口”,
设置:{
已启用Web安全性:false
},
},
标志:['--load images=true'],
调试:false
}
},
幻影发射器:{
//如果遇到资源错误,让phantomjs退出(如果因果报应在没有杀死phantomjs的情况下退出很有用)
exitOnResourceError:true
},
//连续集成模式
//如果为真,Karma将捕获浏览器,运行测试并退出
单次运行:错误
})

}
当Karma找不到您的测试并显示
执行的0/0错误时
,导致这种行为的最常见原因是:

  • 指向
    文件:[]
    选项中
    karma.conf.js
    中的测试文件/文件夹的路径不正确
  • 测试文件/文件夹中缺少规范(
    it
    blocks),因此Karma无需执行任何操作。如果在测试文件中不适当地放置规范,也可能发生这种情况,例如在您的案例中,您在每个测试文件之前将
    It
    放在
    中,但Jasmine不支持它。我们的想法是把它们放在同一水平上
    it
    spec可以单独存在于全局范围内,也可以位于
    Descripte
    suite块内

您的测试文件甚至没有执行,这似乎是安装中的一个问题。这是您的应用程序的第一次测试吗?业力配置正确吗?是的,这是我的第一次测试。我已经附上了karma配置。你能分享你的karma配置文件吗?当然,完成了,你可以看到它!哦,我知道可能是什么问题了。您不应该在每个之前将
块放入
中,它们必须处于同一级别。你必须根据你的代码样本将你的
it
放在第二个
之前,而不是放在里面。如果是故意有0个测试,有没有办法告诉Karma不要将0中的0视为错误?@core,我猜这是故意的,看看-如果没有测试,那么a是0,这是错误的,所以这被认为是一个错误。也许创建一个虚拟规范对你有用?@core你可以将
failOnEmptyTestSuite:false
添加到你的karma.conf.js中