标签: Jestjs
openlayers-6mocha-webpackcreateobjecturl
我有一个问题,在我将openlayers从5.3.1更新到6.3.1之后,当我运行test、jest或mocha时,两者都显示错误“TypeError:URL.createObjectURL不是函数”,原因是什么
摩卡咖啡网页:
TypeError: URL.createObjectURL is not a function
at eval (webpack:///./node_modules/ol/worker/webgl.js?:7:15)
笑话:
失败测试/map.test.js
是否可以使用MSW和Jest来模拟离线网络条件?或者,基于非城市固体废物的解决方案就足够了。我也不想模拟navigator.onLine,因为我想在网络请求因脱机而失败时测试错误路径。是的,您可以模拟网络错误:
rest.get('/user',(\uRes)=>{
返回res.networkError('自定义网络错误消息')
})
以下是相关文档:为什么不?Jest在节点环境中运行。它不关心网络。如果您可以在节点中运行MSW,则可以使用它。你检查了吗?我知道MSW是开玩笑的,我正在尝试确定
Jest正在抛出一个错误,说明它在Jest.mock()中找不到路径指定的模块
>开玩笑
失败测试/userSelect.test.ts
● 测试套件无法运行
无法从“test/userSelect.test.ts”中找到模块“../src/actions/selectUserById”
8 |
9 | jest.mock('mysql');
>10 | jest.mock('../src/actions/selectUserById');
11 |
12 | const mockSele
我在Jest测试中不断得到“localStorage未定义”,这很有意义,但我的选择是什么?撞到砖墙。在以下帮助下找到了答案:
设置包含以下内容的文件:
let localStorageMock = (function() {
let store = new Map()
return {
getItem(key: string):string {
return store.get(key);
},
setItem: function(key: st
我想在gulp中使用jest.runCLI()
我该怎么做
如何使用jest.runCLI()运行一个测试?jest有一个CLI选项,可以只运行更改的文件(基于git存储库状态)。
命令行jest--onlyChanged以编程方式变为:
jest.runCLI({'onlyChanged': true}, __dirname, function (success) {...});
jest使用终端对指定的文件名使用非连字符选项:
jest test1只运行test1.js
jest tes
我想将元素ui绑定到挂载,因此在开始时我写为:
"element-ui": "2.4.6"
"@vue/test-utils": "^1.0.0-beta.29"
我的主要代码是:
import { mount, createLocalVue, shallowMount, config } from '@vue/test-utils'
import Element from 'element-ui'
const localVue = createLocalVue()
localVue.use(
我在运行测试后使用Jest覆盖率报告来检查代码的覆盖率。虽然在这里,我有4个值
1.声明
2.分支机构
3.功能
4.线条
是否有任何方法可以在覆盖率报告中仅显示语句而不显示其他3个属性,或者该报告始终自动生成所有4个属性
如果有办法,我该怎么做
我在组件类中使用了ngzone和router。
我的单元测试工作正常,但现在得到的错误无法读取未定义的toLowerCase()。
有谁能建议我如何同时模拟Ngzone和路由器。我使用测试床:)
只需使用组件和路由配置测试模块,然后从测试模块获取路由器实例,然后监视路由器。导航以使用自定义模拟实现
从“@angular/core/testing”导入{async,ComponentFixture,TestBed};
从'@angular/Router'导入{Router};
从“@angula
有没有办法用Jestjs编写更多的数据驱动测试
我想出了这样的办法:
it('assignments and declarations', () => {
testCases.forEach(function (testCase) {
const slx = fs.readFileSync(testDirectory + 'slx/' + testCase.slx, 'utf-8');
const document = compiler.
在完成以下步骤后,我成功地运行了测试并玩得很开心,所以开玩笑吧
当我尝试使用--watch功能时,我有一台电脑,但我有2GB的空闲空间。
M他可能试图监视我的所有文件夹,包括dists和node_模块,这是问题所在吗
有没有办法告诉你只看特定的目录
非常感谢如果我没记错的话,这是一个问题,可以通过使用重新安装来解决
$ brew update
$ brew install watchman
似乎这并没有解决我的问题:(情况仍然相同,您可以在安装了watchman的情况下发布您的jest设置。j
我有下面的代码,它模拟了Person的函数fetchAge。我需要根据this的值有条件地返回一个值,但是this在函数中是一个空对象。有没有什么办法可以开玩笑呢
jest.unmock('Person');
const Person = require('Person');
Query.prototype.fetchAge = jest.fn(() => {
console.log(this); // this returns an empty object
if(th
我对reactjs项目使用jest测试。当我评估两个不同的对象时,测试失败,但它没有显示比较,而是抛出一个错误
对于字符串,它可以正常工作,但当我计算对象时,它只会抛出以下错误:
TypeError: (0 , _diff.structuredPatch) is not a function
图书馆:
笑话:22.4.2
操作系统:Windows
节点:8.9.4
示例测试:
test('test', () => {
const objectA = {
foo
我已经为Puppeter设置了测试环境,如doc中所述,但突然在使用react test renderer进行常规测试时出错
componentDidMount() {
document.addEventListener('mousemove', this.handleMouseMove);
}
正如我已经阅读的错误建议-testEnvironment应该设置为jsdom,但它设置为NodeEnvironmentansector类。
()
如何让这两种类型的测试都工作?使用jest的-
标签: Jestjs
puppeteere2e-testingweb-testingwebtest
我正在使用jest Puppeter运行我的网络测试。如果我在一个文件中运行所有定义的测试,那么一切都可以完美运行
describe('user', () => {
jest.setTimeout(12000);
beforeEach(async () => {
await page.setViewport({width: 1200, height: 2000});
await page.goTo('http://localhost
我有以下测试:
it('should have a numerical id set', () => {
var id = setTimeout(function () {
console.log(id); //Here
}, 1000);
console.log(id);
// Expectation to be run here.
});
控制台正在注销以下内容:
{
"_called": false,
"_destroyed": false,
我正在与剧作家一起使用jest在我的web应用程序上运行测试。我正在为每个测试录制视频,但由于我们每天要运行100个测试,我们的服务器空间不足。所以我们决定只保存那些测试失败的视频,所以我的问题是,我有没有办法知道测试是否失败或通过了,下面是我正在使用的代码
beforeAll(async () => {
// start the recording
})
afterAll(async()=>{
// stop and save the recording if t
为什么我写这样的代码不能测试注销的分支?
这是Jest官方的例子。链接在这里
原始测试代码是分支中唯一的测试登录代码,因此我想测试整个分支。但我无法完成它:(
原因fetchCurrentUser在单击发生之前最初只调用一次。因此,您总是会得到第一个模拟值,即:
cb = > {
cb({
fullName: 'Johnny Cash',
loggedIn: true,
});
}
要测试两者,您可以尝试以下方法:
let loggedIn = false
fet
我正在编写一个POSTSS插件来支持CSS中的嵌套导入语句,我遇到了这个问题,单元测试返回的输出与我预期的略有不同,导致测试失败:
var postcss = require('postcss');
var plugin = require('./');
function run(input, output, opts) {
return postcss([ plugin(opts) ]).process(input)
.then(result => {
exp
我正试图将故事镜头融入到我的项目中。
我有一个笑话:
"moduleFileExtensions": [
"json",
"js",
"jsx"
],
以下是我的测试文件内容:
import React from 'react';
import renderer from 'react-test-renderer';
import initStoryshots from '@storybook/addon-storyshots';
import IconCell from './
标签: Jestjs
es6-modulesparceljs
我有一个使用react parcel app作为模板的项目,我正在尝试集成Jest,但我遇到了以下错误
Details:
/home/papaponmx/Projects/prime/src/actions/goals.spec.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { addGoal } from './goal
标签: Jestjs
react-testing-library
调用fireEvent.focus()后,我无法拍摄快照
这是测试。我这里有两个测试,一个是在输入被聚焦之前比较快照,另一个是在输入被聚焦之后比较快照
describe("Unit: <OutlinedInput />", (): void => {
describe("Initial render", (): void => {
describe("renders as snapshot", (): void => {
it("for s
标签: Jestjs
stenciljsjest-puppeteer
我正在使用Stencil.js创建一个web组件库,并且严重依赖E2E测试。由于它们相当慢,在开发新组件时运行整个测试套件(使用Stencil.js CLI)变得越来越麻烦
但是,我无法在IDE(IntelliJ IDEA)中或通过命令行运行单个测试。不过,对于单元测试来说,它工作得非常好
我的Jest配置如下所示:
module.exports = {
"roots": [
"<rootDir>/src"
],
"preset": "@stencil/core/
标签: Jestjs
storybookstoryshots
有一个问题,我想使用一个自定义浏览器来进行带有笑话的故事快照,但我很难找到任何关于管理浏览器生命周期的示例或文档,这只是随便提到的。我的故事照是这样的
initStoryshots({
suite: 'Image storyshots',
storyKindRegex: /^((?!.*?skipImageSnapshot).)*$/,
test: imageSnapshot({
storybookUrl,
getMatchOptions,
getCustom
这些笑话把我弄糊涂了
这是在:
使用jest.mock模拟的模块仅针对调用jest.mock的文件进行模拟。导入模块的另一个文件将获得原始实现,即使它在模拟模块的测试文件之后运行
但政府:
axios导入到名为Users的文件中
users.test.js设置以下模拟:
从“axios”导入axios;
从“./Users”导入用户;
开玩笑的模仿(‘axios’);
文档向我建议,测试文件不应该能够在srcusers.js文件中模拟axios。。。然而,这是文档中的示例,因此它肯定会起作
我正在尝试编写一个jest测试用例来测试一个异步方法,我想传入done()参数,以便jest在结束测试之前等待它被激发,但是,我不确定把它放在哪里
有什么想法吗
const testcases = [
[
'Crew',
[1,2,3],
Enum.Level1
],
[
'Staff',
[4,5,6],
所以fetch mock jest是基于fetch mock的(它不是jest fetch mock..)
我的问题是:
// inside my test file
fetchMock.restore().mock('https://someSiteOnTheInternet.com', someResponse)
// inside my tested file
fetch('https://someSiteOnTheInternet.com').then(...)
以上功能正常但只
我试图在运行节点测试时使用jsForce包登录。无论我做什么,它都会失败,并显示错误消息
Error: INVALID_LOGIN: Invalid username, password, security token; or user locked out.
我没有这个问题,当旋转我的整个项目。它登录良好。我已经从我的env文件中仔细检查了登录url是否设置正确,用户名和密码是否正确。我在这方面找不到任何答案
有人知道如何在运行jest测试时使用jsForce登录吗?安装程序中用户的登录历史
我喜欢Nuxt的一点是不必包含所有使用过的组件。但这不是开玩笑。
我从默认的nuxt应用程序开始使用jest。我在“Logo.Vue”中添加了如下自定义元素:
<template>
<div class="VueToNuxtLogo">
<MyComponent />
</div>
</template>
是否有任何方法可以使用诸如Nuxt do之类的Jest自动导入组件?因此目前无法这样做,我
标签: Jestjs
salesforce-lightninglwc
我有下面的代码。我怎样才能在玩笑中掩盖销售人员
testhandle(event) {
let testAbr = event.target.text;
if (testAbr) {
this.dispatchEvent(new CustomEvent('testpasss', { detail: { type: 'specilsnumber', input: testAbr } }));
}
}
我有一个分析跟踪器,它只会在1秒后调用,并且对象的intervalInMilliseconds(持续时间)值是而不是确定性的
如何使用jest.tohavencalledwith测试对象
test('pageStats-publicationPage(将等待1000ms)),完成=>{
const track=jest.fn()
const expected=新的有效加载时间({
类别:“PublicationPage”,
操作:“PublicationPage”,
名称:“不适用”,
标签:‘
我已经为连接的组件创建了测试。在一个文件中,我导入了位于项目根文件夹外部的“本地化”模块。它未编译为ES5,Jest报告SyntaxError:意外的令牌导出。如何强制Jest转换该文件
1 | import axios from 'axios';
2 | import * as types from './actionTypes';
error > 3 | import Localization from '../../../../Rea
标签: Jestjs
enzymetest-coverage
为了简化-我有一个组件,比如说,我是这样使用它的:
...
<Label
labelText="Some text"
renderText={(text) => {
const cssClass = text.length < 5 ? 'one-class' : 'other-class';
return <b className={cssClass}>{text}</b>;
}}
/>
...
。。。
{
const
标签: Jestjs
travis-cijson-server
我的vuejs前端使用Axios进行API调用
我正在用Jest进行单元测试和集成测试。我使用axios模拟适配器来模拟API,但我需要模拟每个端点
为了简化,我想使用json服务器。在开发机器上,没有问题:我启动json服务器,然后启动Jest测试
我的问题是关于Travis CI的:
如何启动json服务器
如何确保有可用的端口
如何/何时停止json服务器
.travis.yml在其中编写脚本或编辑构建以在包中运行测试。json.travis.yml在其中编写脚本或编辑构建以在包中运行测
因此,我有mjml模板,在使用jests快照功能呈现它们之后,我会对它们进行测试。本地所有都是好的,但在CI管道中会出现这种奇怪的错误:
- .mj-outlook-group-fix { width:100% !important; }
+ .outlook-group-fix { width:100% !important; }
因此,快照之间的区别实际上只是在CI中有时缺少mj-。这对我来说非常奇怪,因为CI当然也有完全相同的所有依
简而言之,我正在使用Jest、React测试库和MaterialUICreateMuiteme,除了测试之外,其他一切都正常工作。只有当我从createMuiTheme的复合主题中添加自定义主题时,它们才会中断
我正在为我的MUI项目创建一个自定义主题,如下所示:
import { createMuiTheme } from '@material-ui/core/styles';
export const theme = {
palette: {
extra: {
ac
我正在使用Jest运行Selenium测试。我希望登录测试在其余的webapp功能测试之前进行。我可以使用jest-I按顺序运行文件,但我找不到控制文件运行顺序的方法。我试图改变文件名,希望它是按文件名的排序顺序,但无论我如何调用文件,它仍然以相同的顺序运行。如何做到这一点
这是关于按特定顺序运行,而不是按顺序运行。我已经在做--runInBand(-I是它的别名)。这在玩笑中是不可能的(请参阅),而且似乎也不可能(请参阅)
一个选项是Jest有两种不同的配置,一种用于登录测试,另一种用于其余测
我在当前项目中使用JEST23.2.0。如果我运行jest--watchAll一些快照测试失败。我按I进入交互式快照模式。某些测试已启动,但过程完成得非常快,并显示以下消息:
Interactive Snapshot Result
› 2 snapshots reviewed, 2 snapshots updated
这通常是经过所有失败测试后的消息。但没有交互,也没有更改快照文件
有什么想法吗
因此,我正在学习Jest,在当前的Aurelia项目中,生成的main.js脚本的内部工作导入一个配置对象(环境)。注意,这段代码都是生成的
// main.js
import environment from './environment';
import {PLATFORM} from 'aurelia-pal';
import 'babel-polyfill';
import * as Bluebird from 'bluebird';
// remove out if you don'
根据以下章节,应通过ID找到选择器:
it('Should render the Select Vehicle entry', () => {
let component = shallow(<VehicleMenu {...initialState} />);
expect(component.find("#vehMenuSelect")).to.have.lengthOf(1);
});
无论我在本例中使用哪种选择器类型,都可以找到
这是有效的,也
标签: Jestjs
babeljsbabel-loaderbabel-jestbabel-plugin
我在babel.config.js中提到了我自己的babel插件,当我更改插件时,jest不会选择更新的插件代码并中断测试。当我跑的时候
npx jest--没有缓存,将拾取更新的更改
我不希望每次更新插件时都使用--无缓存运行
我很想知道jest是如何挑选最新的babel插件的,当它们在npm artifactory中更新时
我在babel.config.js中提到了我的插件:
module.exports = function (api) {
api.cache(true);
co
谷歌在这一点上让我失望。我们有一组简单的JS文件,将在符合ECMA-Script-262 Edition 5(ECMAScript 5)的专有JS环境中执行。为了确保我们的脚本没有使用新ES版本的任何功能,我想将Jest配置为使用“ECMAScript 5”运行。我似乎找不到任何配置
如何配置Jest以使用ES5?也许“Jest”是错误的,我应该询问有关配置“jsdom”的问题。不过,基本问题仍然存在,我目前的理解是Jest/jsdom最终将在Node JS(V8)环境中运行,该环境无法切换ES
我试图在一个带有TypeScript的Preact应用程序中使用Jest和Ezyme运行测试
我收到一个笑话,遇到意外的令牌错误:
FAIL src/app/app.test.tsx
● Test suite failed to run
Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse,
我可以用玩笑的期望()来代替排毒的期望吗?
如果可能的话,你能告诉我怎么做吗?
我已经安装了Jest runner,这是不可能的。排毒期望在应用程序中运行,而不是在排毒节点过程中运行 这通常是应用坏做法的暗示,通常不鼓励这样做。根据经验,在E2E(UI测试)级别,断言应该在UI级别完成
例如,通常的做法是创建一个自定义的应用程序内测试屏幕,以呈现您希望应用程序处于的当前状态。然后,断言通常可以实现为两步过程:
a。导航到该屏幕测试屏幕,然后是-
b。使用Detox'by.text()&tobev
标签: Jestjs
puppeteerjest-puppeteer
我正在运行jest--watch来执行我的测试。现在,每当我进行更改时,都会发生以下情况:
无头铬合金面世
新页面被打开
页面转到localhost:xxxx
页面被重定向到登录屏幕
登录过程
测试开始运行
无头镀铬
这非常耗时。只需刷新页面/转到url并运行测试,效率会更高。这怎么可能呢?我认为这在合理的情况下是不可能的。对多个测试重用浏览器会话可能会导致测试交叉污染,并使测试更不可预测。在每个测试套件中使用Puppeter实例将要求不要杀死chrome进程,希望它能被重用,并可能永远挂起。也
标签: Jestjs
react-testing-library
我想测试一个在if语句中调用的函数。我不知道如何测试这个函数,它实际上返回一个布尔值
代码
功能测试(){
if(等待SOP3loginConfig(props:object).isSOP3()){
//调用if语句
}否则{
//调用其他语句
}
}尝试使用
it('应该调用SOP3函数',()=>{
props.user={};
const isSOP3Mock=jest.fn(()=>{
console.log('======================iSOP3已调用');
返回
我有自己的习惯记者
module.exports={
...
记者:['default','customReporter.js']
...
}
我有一个安装脚本,可以挂接到setupFilesAfterEnv
如何从setup.js访问customReporter实例?我遵循了allure jest在中所做的操作
我更改了setup.js代码,使我的reporter实现了Jasmine reporter接口,而不是Jest reporter,然后使用Jasmine.getEnv().addRe
假设我们有一个带有一些方法的类。我们想知道是否调用了方法B,而一旦执行了methodA,就会将结果返回给调用者,methodB将异步执行。这个班看起来像下面
class Parent {
constructor() {
this.conf = [{ id:'1', func: Parent.methodA.bind(Parent)}, { id:'2', func: Parent.methodB.bind(Parent)}]
}
static method
我正在为我的项目编写jest测试用例。但我一直在努力获取文本值。因此,我需要如何从排版中获取文本。任何人都可以给出解决方案
在这里我声明了我的代码
let wrapper = shallow(<Typist />).dive();
const pageName = wrapper.find('Typography');
console.log('***pageName***', pageName.debug());
但我得到了这个输出,但从未得到文本JobsTitleName
标签: Jestjs
styled-componentsreact-testing-library
使用react测试库和jest样式的组件进行Im测试
我有一个包装器组件,它根据传递给它的选定道具呈现其子按钮的样式
代码如下:
const selectedStyles = css`
background-image: url(../image);
background-position: center;
background-repeat: no-repeat;
border-color: ${color.grey6};
height: 38px;
width: 58
我正在尝试测试一个封装在Redux中的组件:
beforeEach(async () => {
component = await mount(
<Provider store={buildStore()}>
<CheckoutOverlay cartItems={basicCart} />
</Provider>
)
awa
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 19 页