草庐IT

$AB测试

全部标签

javascript - 奇数测试

最常见的模运算符%用于测试偶数或奇数。现在我的问题是,使用按位AND测试奇数是否有任何问题,因为测试最右边的位是1还是0感觉更自然>比对2进行模数检查并且由于32位转换不会更改最右边的位。两者(1+Math.pow(2,52))&1//1和(1+Math.pow(2,52))%2//1产生相同的结果。是否有理由更喜欢模运算符而不是按位运算符?编辑:此问题仅考虑落在64位精度范围内的值因为在2^53以上只能表示偶数,因此两个操作数都失败(9007199254740993%2//0) 最佳答案 在JavaScript中,使用任何按位运算

javascript - 使用本地 JSON 模拟 Firebase 进行测试?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在考虑针对将Firebase用作其数据存储区的应用程序的测试策略。虽然端到端测试可以向实际后端发出请求,但能够对不必到Firebase的应用程序逻辑进行单元测试就更好了。我一直在网上搜索一种方法来使用类似于本地JSON文件的东西来模拟javascriptFirebase服务,但没有找到任何东西。这样的东西存在吗?如果没有,我会写它并发布在github上......

javascript - karma Jasmine 测试 : Highlight diff in terminal

我将Karma与Jasmine一起用于我的测试。在某些测试中,我有测试所依赖的大对象。当我做类似的事情时expect(obj).toEqual(expectedObj);和obj!=expectedObj,我在终端中收到一条错误消息。但是这个错误真的很长,因为它包含了两个对象,而且很难看出两个对象在哪些部分不同。那么,有没有可以与karma一起使用的终端荧光笔?这样,就更容易找出问题所在。 最佳答案 我遇到了同样的问题,为我做了什么karma-jasmine-diff-reporter.只需安装它:npminstallkarma-j

javascript - 使用 Sinon 测试 JavaScript 点击事件

我正在尝试进行一些测试,以便能够更好地理解如何结合使用Mocha、Chai、Sinon和jQuery来测试DOM事件。我想检查单击div元素时是否正确触发了警报功能。我知道HTML元素的设置是正确的jQuery,但我不完全确定如何为下面的代码生成通过测试。特别奇怪的是,在我的浏览器中打开HTML文件时出现一个对话框,所以我知道行'$('#thingy').trigger('click')'正在做我期望的事情。我目前收到以下消息,'TypeError:objectisnotafunction'我的测试文件tests.js中的相关部分describe('DOMtests-divelemen

javascript - 测试 Redux 组合 reducer

假设我有几个reducer函数,我使用combineReducers(...)将它们全部组合到一个reducer中,有没有一种方法可以测试组合的reducer实际包含哪些reducer?例如,如果我有这个:import{combineReducers}from'redux'constreducer1=(state,action)=>{...}...(morereducers,etc)constrootReducer=combineReducers({reducer1,reducer2,reducer3})exportdefaultrootReducer我可以使用Mocha和Expect

javascript - 在匿名函数中测试 JavaScript 函数

是否可以在下面测试myInnerFunction?varval=function(){varmyInnerfunction=function(input){returninput+'IADDEDTHIS';};returnmyInnerfunction('testvalue');}();因为myInnerFunction本质上是匿名执行的外部函数的私有(private)成员,所以它似乎无法从外部进行测试。 最佳答案 您可以故意向外界公开测试Hook,可能如下所示:varval=function(){varmyInnerfunctio

javascript - 我无法测试在主干 View 中呈现的元素的可见性

我正在开发一个Backbone.js应用程序,同时使用Jasmine&Sinon添加测试我在确定某些DOM元素的可见性时遇到了问题:其中一些在测试中被检测为不可见,而我可以在我的应用程序中正确地看到它们。我创建了一个复制问题的小示例,同一测试在两组元素上运行两次:第一组直接存在于SpecRunner.html中第二个已呈现为BackboneView测试本身使用jQuery.is(':visible')(通过jasmine-jquery的.toBeVisible())来了解元素是否可见。它通过了第一组,而不是第二组。我在这里将代码作为github项目共享:https://github.c

javascript - 为什么使用 "!= null"测试参数是否传递不好

这个问题在这里已经有了答案:Detectinganundefinedobjectproperty(50个答案)关闭9年前。从MaintainableJavaScript一书中提到://Bad:TestingtoseeifanargumentwaspassedfunctiondoSomething(arg1,arg2,arg3,arg4){if(arg4!=null){doSomethingElse();}}但我觉得这里用!=null还是挺有效的,它过滤了参数未传递和传递为null的情况作者认为它不好的原因是什么?

javascript - Squire 正在打破其他测试

我正在使用Karma、Jasmine、Jasmine.Async、Sinon和Chai。好消息...这个测试工作正常。依赖关系被mock,spy被调用,故意破坏测试对象导致测试失败。define(['chai','squire'],function(chai,Squire){varshould=chai.should(),async=newAsyncSpec(this),subject,injector=newSquire();describe('EventsView',function(){describe('whenaneventisclicked',function(){varm

javascript - 我如何检查 after block 中是否有任何 mocha 测试失败?

describe('sometests',function(){/**Runsometests...*/})after(function(){failures=?//如果测试失败,我会用它来保持chromedriver的浏览器打开,并返回到reportsuccessorfailuretosaucelabs.Mocha的运行者和记者havetheinfoI'mlookingfor作为stats但我不确定如何从测试文件中获取它们。 最佳答案 我找到了这个问题的答案hereafterEach(function(){if(this.curr