jest

Jest mock module multiple times with different values

你说的曾经没有我的故事 提交于 2020-05-13 06:53:43
问题 I have a function that I want to test and this function uses an imported module: var a = require('./a'); function add(b) { return a + b; } module.exports = add; That a module returns a number in this sample, but in my real project I use that as a config object that is changed from time to time manually. var a = 1; module.exports = a; The test for the add function looks like this: describe('add', () => { it('should add the mock number 1 to 2', () => { jest.setMock('./a', 1); const add =

Jest mock module multiple times with different values

不羁的心 提交于 2020-05-13 06:52:06
问题 I have a function that I want to test and this function uses an imported module: var a = require('./a'); function add(b) { return a + b; } module.exports = add; That a module returns a number in this sample, but in my real project I use that as a config object that is changed from time to time manually. var a = 1; module.exports = a; The test for the add function looks like this: describe('add', () => { it('should add the mock number 1 to 2', () => { jest.setMock('./a', 1); const add =

SpringBoot笔记十六:ElasticSearch

天涯浪子 提交于 2020-05-09 12:21:33
[TOC] ElasticSearch官方文档 推荐去看官网的文档,有中文的,我这里仅仅是简单的入门一下,做一下个人笔记 ElasticSearch官方文档 ElasticSearch安装 我使用Docker进行安装,使用了中国加速 docker pull registry.docker-cn.com/library/elasticsearch 然后,开启镜像,生成容器,这里需要注意的是,ElasticSearch默认运行内存占用2个G,我虚拟机整个才给了2G内存,所以我要限制ElasticSearch的内存为最小256M,最大256M,端口号是9200,在分布式的情况下,互通的端口号是9300 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name myElasticSearch 5acf0e8da90b 在浏览器输入你的Linux服务器IP+9200,当你看到下图时就安装成功了 ElasticSearch简介 ElasticSearch就是一个搜索的东西,维基百科,Github用的都是这个。简单介绍一下,他的原理是这样的,有索引,索引下有类型,类型下有文档,文档有属性 可以这么理解,把ElasticSearch看作Mysql,索引就是数据库,类型就是表,文档就是数据

【vue】在VS Code中调试Jest单元测试

孤街浪徒 提交于 2020-05-02 14:28:38
在VS Code中调试Jest单元测试 添加调试任务 打开 vscode launch.json 文件,在 configurations 内加入下面代码 "configurations": [ { "name": "Jest Debug AllFile", "type": "node", "request": "launch", "protocol": "inspector", "program": "${workspaceRoot}/node_modules/jest/bin/jest", "stopOnEntry": false, "args": ["--runInBand", "--env=jsdom"], "runtimeArgs": [ "--inspect-brk" ], "cwd": "${workspaceRoot}", "sourceMaps": true, "console": "integratedTerminal" }, { "name": "Jest Debug File", "type": "node", "request": "launch", "protocol": "inspector", "program": "${workspaceRoot}/node_modules/jest/bin/jest", "stopOnEntry": false,

在 vue-test-utils 中 mock 全局对象

馋奶兔 提交于 2020-04-28 08:20:12
<p><code>vue-test-utils</code> 提供了一种 mock 掉 <code>Vue.prototype</code> 的简单方式,不但对测试用例适用,也可以为所有测试设置默认的 mock。</p> <h2><code>mocks</code> 加载选项</h2> <p><code>mocks</code> 加载选项 是一种将任何属性附加到 <code> Vue.prototype</code> 上的方式。这通常包括:</p> <p><code>$store</code> , for Vuex</p> <p><code>$router</code>, for Vue Router</p> <p><code>$t</code> , for vue-i18n</p> <p>以及其他种种。</p> <p><code>vue-i18n </code> <strong>的例子</strong><br>我们来看一个 vue-i18n 的例子。虽然可以为每个测试用到 <code> createLocalVue </code> 并安装 <code>vue-i18n </code>,但那样可能会让事情难以处理并引入一堆样板。首先,组件 <code> <Bilingual> </code> 用到了 <code>vue-i18n</code>` :</p> <pre class=

Vue项目无法使用局域网IP直接访问的配置方法

夙愿已清 提交于 2020-04-18 06:46:19
一般使用 vue-cli 下来的项目是可以直接访问局域网 IP 打开的,比如 192.168.1.11:8080 。但是最近公司的一个项目只可以通过 localhost 访问。 需要配置一下,才可直接用局域网 IP 访问,方法如下: 给 dev 添加--host 0.0.0.0 属性: "scripts" : { "dev" : "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0" , "start" : "npm run dev" , "unit" : "jest --config test/unit/jest.conf.js --coverage" , "test" : "npm run unit" , "build" : "node build/build.js" }, 这样就可以用手机访问电脑的 IP 直接打开项目网站了。 如果还是无法访问,需要 配置 一下 电脑 的 防火墙 ,把所需的端口(如:8080)打开。 设置方法如下: Windows 10 ,搜索“控制面板”,打开,Windows 7 可以直接在开始菜单打开。 点击“Windows Defender防火墙”——“高级设置”——新建“入网规则”。 规则类型选择“端口”,下一步“特定本地端口

【Spring Boot】21.集成elasticsearch

痴心易碎 提交于 2020-04-17 03:06:31
【推荐阅读】微服务还能火多久?>>> 简介 目前对于检索功能比较有名的服务是我们常见的elasticsearch,所以我们这一节的重点,也是针对elasticsearch的使用。 应用程序经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选。他可以快速的存储、搜索和分析海量数据。Spring Boot通过整合Spring Data ElasticSearch为我们提供了非常便捷的检索功能支持; Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于 Lucene ,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,维基百科、github等大型的站点也是采用了ElasticSearch作为其搜索服务。 概念 以员工文档形式存储为例:一个文档代表一个员工数据。存储数据到ElasticSearch的行为叫做索引,但在索引一个文档之前,需要确定将文档存储在哪里。 一个ElasticSearch集群可以包含多个索引,相应的每个索引可以包含多个类型。这些不同的类型存储着多个文档,每个文档又有多个属性。我们可以将其和我们常用的关系数据库概念进行类比: 索引-数据库 类型-表 文档-表中的记录 属性-列 有关ES更多的信息请参考官方文档,一定要先了解其内容,才能更好的使用ES。 安装基本环境 1、拉取镜像

How do I write test case for a function which uses uuid using jest?

*爱你&永不变心* 提交于 2020-04-14 09:03:24
问题 I'm using jest for writing test cases. One of my function uses uuid and due to which it is not a pure function. The code is something like this: const myFunc = () => { const a = uuid(); return a; } I'm writing my test case as : test('should return a unique id value', () => { const a = uuid(); expect(myFunc()).toEqual(a); }); Obviously it won't work as it will generate a unique Id every time. How can I write test case for such function. [EDIT] I don't want test the uuid function as it will

How do I write test case for a function which uses uuid using jest?

廉价感情. 提交于 2020-04-14 09:03:02
问题 I'm using jest for writing test cases. One of my function uses uuid and due to which it is not a pure function. The code is something like this: const myFunc = () => { const a = uuid(); return a; } I'm writing my test case as : test('should return a unique id value', () => { const a = uuid(); expect(myFunc()).toEqual(a); }); Obviously it won't work as it will generate a unique Id every time. How can I write test case for such function. [EDIT] I don't want test the uuid function as it will

Create React App cannot find tests

為{幸葍}努か 提交于 2020-02-24 04:18:45
问题 I recently started a new project using create-react-app. I moved the App.test.js from outside the /src folder into a root level /tests folder so my folder structure looks like this now: > node_modules > public > src ... App.js > tests App.test.js ... And here's the entire App.test.js file: import React from 'react'; import ReactDOM from 'react-dom'; import App from "../src/App"; it('renders without crashing', () => { const div = document.createElement('div'); ReactDOM.render(<App />, div);