我正在对返回promise的代码编写JavascriptMocha单元测试。我正在使用ChaiasPromised图书馆。我预计以下最小单元测试会失败。varchai=require("chai");varchaiAsPromised=require("chai-as-promised");chai.use(chaiAsPromised);chai.should();varPromise=require("bluebird");describe('2+2',function(){varfour=Promise.resolve(2+2);it('shouldequal5',functio
发生的事情是,当我运行我的测试时,我的覆盖率只显示bundle.js这不是很有帮助。我有以下webpack文件设置,想知道我应该更改什么以使其单独覆盖每个文件webpack.config-test.jsvarnodeExternals=require("webpack-node-externals")constpath=require("path")module.exports={context:path.resolve(__dirname),resolve:{extensions:[".js"],alias:{"@":path.join(__dirname,"../../src/se
假设您有一个简单的mocha测试:describe("Suite",function(){it("test",function(doneCallback){//herebetests});});在此测试中,我可以通过在describe函数中的任意位置添加this.timeout(VALUE);来更改超时。但是,除了timeout值之外,还有很多其他的Mochaoptions可以从命令行或位于测试文件夹(./test/mocha.opts)中的mocha.opts文件专门声明。我想要的是在运行时更改其中一些选项(例如,reporter),而不是在命令行/mocha.opts文件中。根据我
我正在测试我拥有的银行模型,如下所示:describe('BankModel-Ajax',function(){it('loadsbank',function(done){varbank=newBank();bank.OnLoaded=_(function(){expect(this.id).to.eql(1171);expect(true).to.eql(false);done();}).bind(bank);bank.load(1171);});});加载调用向我的服务器发出ajax请求。我的问题是expect(true).to.eql(false);抛出一个UncaughtAss
我正在使用Mocha测试返回promise的异步函数。测试promise是否解析为正确值的最佳方法是什么? 最佳答案 自版本1.18.0(2014年3月)起,Mocha已内置Promise支持。您可以从测试用例中返回一个promise,Mocha将等待它:it('doessomethingasynchronous',function(){//note:no`done`argumentreturngetSomePromise().then(function(value){expect(value).to.equal('foo');})
我有Jasmine单元测试,我想运行它并获取Istanbul代码覆盖率报告。我可以运行一个命令行脚本来在Jenkins中运行Karma,但是使用我的build.gradle执行所有内容会很好。是否可以使用Gradle运行Karma?我搜索过谷歌,但似乎找不到解决方案。谢谢 最佳答案 我通过在build.gradle文件中创建并运行一个可执行任务解决了这个问题:taskkarma(type:Exec){commandLine'karma','start','--single-runtrue'}
我正在尝试使用Chai-as-Promised测试被拒绝的Promise的细节,Mocha,和“应该”方言。promise由bluebird实现.这很好用:it('itshouldberejectedwhengivenbadcredentials',function(){varpromiseOfUsers=db.auth("bad","credentials").getUsers();returnpromiseOfUsers.should.eventually.be.rejectedWith(Error)});该错误有一个“状态”属性。我想断言状态是401这不起作用:it('itsho
直到几天前,我的单元测试运行良好,我的代码在浏览器中运行完美。然后我在添加一个名为“profile”的stub模块后注意到了这一点:INFO[karma]:Karmav0.12.24serverstartedathttp://localhost:9876/INFO[launcher]:StartingbrowserPhantomJSINFO[PhantomJS1.9.7(MacOSX)]:Connectedonsocket7W-0vnkWZaWxYYtwFrhTwithid9336780PhantomJS1.9.7(MacOSX)ERRORError:[$injector:nomod]
我有一个带有Jasmine规范的小项目,我使用Testacular作为我的测试运行器。我不明白如何调试应用程序代码或规范代码。当我尝试在Chrome开发工具中设置断点时,它不会在下次运行规范时命中,因为它每次都会使用新的查询字符串加载文件。到目前为止,我发现的最好的方法是使用console.log(),但我更愿意使用Chrome开发工具断点。(我正在使用VisualStudio2012进行开发。)谢谢 最佳答案 Testacular不是用于调试的最佳工具。它的强大之处在于它可以在多个浏览器中运行您的测试,并且执行速度非常快,并且可以
我使用firebase3.3.0,我想使用signInWithEmailAndPassword在我的mocha单元测试中运行,但出现错误auth/network-request-failedUnhandledrejectionError:Anetworkerror(suchastimeout,interruptedconnectionorunreachablehost)hasoccurred.test.jsconstFIREBASE_CONFIG={apiKey:"AIzaSyDdA1POUWy9eid1AdBYuMdxch_k8ob7Qrg",authDomain:"my-app.f