草庐IT

elasticsearch-jest

全部标签

javascript - 如何使用 Jest 测试 void javascript 函数?

如何使用jest框架测试voidjavascript函数(一个不返回任何内容的函数)?您能否提供相同的示例?/***thisfunctionisusedtotoggletheinputtypepasswordfield*@paramelement{DOMElement}-fieldtobetoggled*/exportconsttogglePassword=(element)=>{consttype=element.getAttribute('type');if(type==='text'){element.setAttribute('type','password');}else{e

javascript - 如何避免 Jest 警告 : A "describe" callback must not return a value?

将Jest从版本23升级到版本24后,在运行我的测试时,几乎每个测试都会收到这样的警告消息:A"describe"callbackmustnotreturnavalue.Returningavaluefrom"describe"willfailthetestinafutureversionofJest.附带的堆栈跟踪指向此模块:addSpecsToSuite(node_modules/jest-jasmine2/build/jasmine/Env.js:443:15)这样做的原因是我喜欢在我的测试中使用箭头函数的简写版本,当函数体只包含一个语句时省略大括号,例如:describe('t

javascript - 为什么这些 Jest 不会重置?

我有影响其他测试并导致它们失败的测试代码。当我单独运行测试用例时,一切都通过了,但是当我运行整个套装时,就会出现很多失败。如果您查看下面的两个测试,您会发现我覆盖了测试中的模拟模块以导致抛出异常。HttpService.post=jest.fn(()=>{returnPromise.reject({payload:'rejected'});});此行运行后,所有需要原始HttpService.post模拟的测试都会失败,因为它们没有被重置。测试后如何将我的模拟正确恢复为导入的模拟?我已经在beforeEach中尝试过jest.resetMock以及类似的所有Jest方法,但没有任何效果

javascript - 我觉得大多数用 jest 和 enzyme 进行的组件测试都是毫无值(value)的,我错了吗?

我是使用React-Jest-Enzyme进行测试的新手,但从我收集的所有相关信息来看,在我看来,大多数测试实际上都在测试如果React库崩溃,而不是我的实际业务逻辑。我举几个例子,如果我错了请指正:快照测试:这个策略有什么问题?据我所知,它的主要目的是捕获对我的代码的任何不需要的更改。它“stringify”我的组件树,并注意到是否添加了任何新的换行符/字符,对吗?所以它主要用于那些我可能不小心按下键盘的情况?或者其他人不小心弄乱了我的代码?Enzyme的mount/shallow和Jest的我看到的大多数解释你如何使用它们的例子都是这样的:constwrapper=mount()e

javascript - 开 Jest 将对象传递给 expect().toBeCalledWith()

我正在使用jest来测试我的react组件,我正在使用expect(...).toBeCalledWith(...);来测试是否使用特定参数调用了函数,它适用于值类型。问题是我想测试一个将对象作为参数的函数,所以当你调用expect(myFunc).toBeCalledWith(object);时,测试总是失败,因为两个对象进行了比较彼此没有相同的引用。那么我该如何解决这个问题呢?我要测试的示例代码是it('thefunctionshouldbecalledwiththecorrectobject',()=>{api.submitForm=jest.fn().mockReturnVal

javascript - elasticsearch 分析器 - 小写和空格分词器

我如何创建一个映射来标记空格上的字符串并将其更改为小写以进行索引?这是我当前通过空格标记化的映射,我无法理解如何将其小写并搜索(查询)相同...{"mappings":{"my_type":{"properties":{"title":{"type":"string","analyzer":"whitespace","tokenizer":"whitespace","search_analyzer":"whitespace"}}}}}请帮忙... 最佳答案 我设法编写了一个自定义分析器,这很有效..."settings":{"ana

javascript - Jest Uncovered Lines - 我如何测试这些线..?

我正在使用Jest打开覆盖选项,我得到:--------------------------|----------|----------|----------|----------|----------------|File|%Stmts|%Branch|%Funcs|%Lines|UncoveredLines|--------------------------|----------|----------|----------|----------|----------------|progress-bar.js|100|75|100|100|17|-----------------

javascript - 使用 jest.js 拦截导航更改(或如何覆盖和恢复 location.href)

应用程序代码正在调用location.href="some-url"。我想编写一个测试来验证导航重定向是否发生。在jsdom上使用jest,我尝试使用jest模拟函数覆盖location.hrefsetter来做到这一点,它正在工作。但现在我似乎无法在测试清理中恢复location.href属性,并且它无法通过依赖“location.href”的其余测试。it('testnavigationhappened',()=>{constoriginalLocationHref=Object.getOwnPropertyDescriptor(window.location,'href');//

javascript - 获取 `TypeError: jest.fn is not a function`

我正在尝试使用Jest创建以下单元测试。jest.dontMock("pointsAwardingActions.js");describe("pointsawardingactions",()=>{describe("awardpoints",()=>{it("shoulddispatchbeginajaxaction",()=>{varpointsAwardingActions=require("pointsAwardingActions.js");constmockedDispatch=jest.fn();});});});但在运行npmtest后我收到以下错误。TypeErro

javascript - 如何在 Jest 中重置手动模拟

我有一个crypto的手动模拟,如下所示://__mocks__/crypto.jsconstcrypto=jest.genMockFromModule('crypto')consttoString:Function=jest.fn(()=>{return{}.toString()})constmockStringable={toString}constupdate:Function=jest.fn(()=>mockStringable)constdeciper={update}crypto.createDecipheriv=jest.fn(()=>deciper)exportdefa