草庐IT

jest-jasmine

全部标签

javascript - 开 Jest toBeCloseTo 的精度没有按预期工作

我正在尝试在Jest中使用toBeCloseTo来测试float:expect(value).toBeCloseTo(0.01491,5);但是当我运行测试时,我看到了这个结果:Precision:5-digitExpected:0.01491Received:0.01491570355当我将精度设置为4时,测试通过了,但我很困惑。在documentation,它说:UsenumDigitstocontrolhowmanydigitsafterthedecimalpointtocheck所以,我在这里假设我正在比较正确的位数:我有.01491,它有5位数,所以我期望(双关有意!)测试以

javascript - Protractor Jasmine 描述嵌套在 it block 中的 block

首先,下面的代码似乎可以工作。但是,我还没有看到有人这样做,所以我想知道这是否合法,以及我是否遗漏了无法预料的缺点。上下文是我正在使用Protractor编写E2E测试,它使用Jasmine风格的describe/itblock。我的目标是加载一个页面并运行一堆it测试block,而不是每次都重新加载该页面(因为它很耗时)。我的构造是:describe("Homepage",function(){beforeEach(function(){browser.get("/");//loadsthepage});it('elements',function(){describe('testg

javascript - 使用 Jest 的 setTimeout 测试 Promise

我正在尝试了解Jest的异步测试。我的模块有一个函数,它接受一个bool值并返回一个值的Promise。执行器函数调用setTimeout,并且在超时回调中,promise根据最初提供的bool值解决或拒绝。代码如下所示:constwithPromises=(passes)=>newPromise((resolve,reject)=>{constact=()=>{console.log(`inthetimoutcallback,passed${passes}`)if(passes)resolve('something')elsereject(newError('nothing'))}c

javascript - Jest 模拟内部函数

我有一个名为helper.js的文件,它包含两个函数exportconstfuncA=(key)=>{returnfuncB(key)};exportconstfuncB=(key,prop)=>{returnsomeObj;};我有我的helper.spec.js来测试helper.js文件的功能。import{funcA,funcB}from'helper';describe('helper',()=>{test('testFuncB',()=>{}test('testFuncA',()=>{}}funcB的测试非常简单,我只是调用它并期待someObj问题是测试funcA,为了测

javascript - 如何使用jasmine测试一个需要很长时间才能响应的异步函数?

我正在使用一个函数从webapi获取数据。基本上使用$.ajax。我现在用waits()像这样测试它:describe('xxxxxxxxxxxxxxxxxxxxx',function(){varr;it('fetchFilter',function(){runs(function(){model.fetch(opts).done(function(data){r=data;});});waits(2000);runs(function(){expect(r[0].gender).toBeDefined();});});});问题是:不能保证waits(2000)会很好地完成这项工作。

windows - Windows 命令行中的 Jasmine

如何使用Windows机器从命令行运行jasmine?我见过jasmine脚本在Linux中运行。我希望jasmine在命令行中独立运行,没有phantomjs或任何其他模拟服务器的javascript代码(我只需要jasmine,如果可能的话使用maven)。 最佳答案 我迷路了...假设问题是“我可以在默认的Windows安装上运行JavaScript,我可以用这种方式用Jasmine运行测试吗”?CScript/WScript将运行JavaScript,两者都是默认Windows安装的一部分(我相信启动W2K或WinXP)。您

javascript - 检测 Jasmine 测试何时完成

我正在运行jasmine像这样测试;jasmine.getEnv().addReporter(newjasmine.TrivialReporter());jasmine.getEnv().execute();我想使用JavaScript检测测试何时完成。我该怎么办? 最佳答案 作为@Xv。建议,添加一个记者将工作。你可以做一些简单的事情:jasmine.getEnv().addReporter({jasmineDone:function(){//thespecshavefinished!}});参见http://jasmine.gi

javascript - Jest Mock 函数和 Sinon spy 有什么区别

我正在用Jest模拟一个函数,文档说它们真的是“spy”。我也看到了SinonJS中spy的使用,但我找不到两者之间的明显区别。如果它们服务于相同的目的,是否有任何理由选择一个而不是另一个?JestMockFunctionsSinonJS 最佳答案 两者的主要行为是一样的,都是可以记住调用的函数。因此,对于两者,您都可以计算出它们被调用的频率和参数。Sinon具有更广泛的API,可用于在spy上进行测试,并且它有一个API可将对象中的函数替换为spy。 关于javascript-Jest

javascript - 当您运行 jest --coverage 时,Branches 列的作用/含义是什么?

我运行了测试,这是我收到的:----------------|------------|------------|----------|------------|--------------------|文件|%Stmts|%分支|%函数|%行|未覆盖的行#s|--------------|------------|----------|----------|-----------|--------------------|所有文件|100|0|100|100||搜索|100|100|100|100||索引.js|100|100|100|100||搜索结果|100|0|100|100|

javascript - Jasmine 中的错误预期

我有以下有效的功能functionsum(){vartotal=0,num=0,numArgs=arguments.length;if(numArgs===0){thrownewError("ArgumentsExpected");}for(varc=0;cJasmine规范文件如下:describe("Firsttest;examplespecification",function(){it("shouldbeabletoadd1+2",function(){varadd=sum(1,2);expect(add).toEqual(3);});it("SecondTest;should