草庐IT

javascript - JavaScript/Mocha-如何测试是否已等待函数调用

我想编写一个测试,检查我的函数是否使用await关键字调用其他函数。我希望我的测试失败:asyncmethodA(){this.methodB();returntrue;},我希望我的测试能够成功:asyncmethodA(){awaitthis.methodB();returntrue;},我也想让成功地使成为我的测试:methodA(){returnthis.methodB().then(()=>true);},我有一个解决方案,方法是使用process.nextTick对该方法进行stub并强制其在其中返回假promise,但这似乎很丑陋,我不想在测试中使用process.nex

javascript - QUnit 测试在 Travis CI 上失败(在带有 grunt.js 的 phantomjs 上运行)

我们在JavaScript上的开源项目enchant.js中引入了带有travisCI的CI系统。https://github.com/wise9/enchant.js我们喜欢qunit测试,我们使用grunt.js(npm)运行它们,但它在TravisCI上失败并出现如下错误:PhantomJStimedout,possiblyduetoamissingQUnitstart()call.Use--forcetocontinue.完整的错误信息在这里:https://travis-ci.org/wise9/enchant.js/builds/4016842奇怪的是,每次我运行grunt

javascript - 如何在 Vue.js 中测试计算属性?无法模拟 "data"

我想知道如何在Vue.js的单元测试中测试计算属性。我已经通过vue-cli(基于webpack)创建了一个新项目。例如这是我的组件:exportdefault{data(){return{source:[]}},methods:{removeDuplicates(arr){return[...newSet(arr)]}},computed:{types(){returnthis.removeDuplicates(this.source))}}}我试过这样测试it('shouldremoveduplicatesfromarray',()=>{constarr=[1,2,1,2,3]co

javascript - 在多个文件中拆分 mocha API 测试

我正在为我正在构建的产品构建一些API测试。其中一个测试如下所示:GETFILTERS✓shouldberestricted(45ms)itshouldgetthefilters✓shouldreturn200✓shouldreturnanobject✓shouldclosedbconnectionsGETUSERSCOUNT✓shouldberestricted✓shouldthrowerrorwhenpayloadisnotcorrectitshouldgettheusercount✓shouldreturn200✓shouldreturnanobject✓shouldclosed

javascript - meteor JS : How to stub validated method in unit test

我正在使用经过验证的方法(mdg:validated-method)和LoggedInMixin(tunifight:loggedin-mixin)。现在我的单元测试出现了问题,因为它们因notLogged错误而失败,因为在单元测试中当然没有登录用户。我怎么必须stub呢?方法constresetEdit=newValidatedMethod({name:'reset',mixins:[LoggedInMixin],checkLoggedInError:{error:'notLogged'},//单元测试describe('resetEdit',()=>{it('shouldreset

javascript - 如何在不污染全局命名空间的情况下公开 javascript 对象进行单元测试

我有一个javascript自动完成插件,它使用以下类(用coffeescript编写):Query、Suggestion、SuggestionCollection和Autocomplete。这些类中的每一个都有一个用Jasmine编写的相关规范。插件在模块中定义,例如:(function(){//plugin...}).call(this);这可以防止类污染全局命名空间,但也可以将它们隐藏在任何测试中(使用jasmine的规范,或使用类似q-unit的单元测试)。在不污染全局命名空间的情况下公开javascript类或对象以进行测试的最佳方法是什么?我会用我想出的解决方案来回答,但我

javascript - 禁用 JavaScript 的 Selenium WebDriver 测试

如果浏览器中禁用了javascript(使用noscript),我们的一个内部应用程序(用angularjs编写)会出现一个特殊的错误框,类似于stackoverflow上的错误框:我正在尝试为其编写自动化测试,但遇到了困难。我们正在使用protractor,但我很确定这不是关于它的。这是Protractor配置文件:'usestrict';varhelper=require('./helper.js');exports.config={seleniumAddress:'http://localhost:4444/wd/hub',baseUrl:'http://localhost:90

javascript - 在另一个项目中使用 marble testing rxjs5 方法

我有一个webapp项目,它使用rxjs5来实现flux我目前正在寻找为其编写单元测试的解决方案。其实我已经在里面实现了自定义的observables,例如:functiongetActivityObservable(events,timeout){returnObservable.create((observer)=>{constdeb=debounce(()=>observer.next(false),timeout||DEFAULT_TIMEOUT);constsub=events.subscribe((e)=>{if(!e){deb.cancel();observer.next

javascript - 如何使用 practicalmeteor :mocha 对 meteor 方法进行单元测试

我正在为meteor编写单元测试做噩梦。有太多旧的、过时的文章和太少的清晰、相关的文档,我无法弄清楚我真正需要做什么才能让它发挥作用。我遇到了一个又一个问题,只是真的希望有人能告诉我他们如何为我的一种方法编写测试,这样我就可以看到他们做了什么,并对我的其余方法进行逆向工程。这是我想为其编写测试的方法:Meteor.methods({'client.new':(clientDetails)=>{check(clientDetails,{name:String,numberTeamMembers:String});clientDetails.teamMembers=[];if(!Meteo

javascript - 如何监视 Jasmine 中的自定义事件?

我定义了一个自定义事件。我想用Jasmine来窥探它。但我遇到的问题是,当我使用spyOn监视该事件时,它失败了。当我监视某些功能时,它工作正常。这是我尝试过的:describe("Test:",function(){it("Expectseventwillbespied:",function(){vareventSpy=spyOn(window,'myEvent').andCallThrough();expect(eventSpy).toHaveBeenCalled();//Alsotriedthis://expect(eventSpy).not.toHaveBeenCalled()