标签: Jestjs
integrationwebdriver-io
我可以将Jest与WebDrivero集成以进行跨浏览器测试吗?
因为我在堆栈溢出中找不到任何相关信息。只有一篇GitHub帖子提到了这一点:
在Jest和Webdriver的官方网站上,io没有提到这些框架的集成。
有人能告诉我这方面的情况吗 根据他们与cucumber的整合,我了解到,要做到这一点可能并不容易。我以前也使用过类似的框架,我觉得webdriver必须对其核心进行一些更改,以便能够与其他测试运行程序和框架集成
维护人员在评论下分享的问题中提到了他的观察结果。谢谢您的回答。
我对我的一个组件使用jest快照测试,生成的快照文件很大(199Kb和4310行)。当快照测试失败时,所有快照文件都会打印到控制台(渲染时间为3-4秒),给我一种“你做错了什么”的感觉
所以我的问题是:我是否正确使用快照测试
组件代码:
import _ = require('lodash');
import React = require('react');
import {TranslatedMessage} from 'translator';
import {UserProfile}
我想模拟genName函数并测试getMessage函数
模块a.ts:
const getMessage=():string=>{
return`她的名字是${genName()}`;
};
函数genName():字符串{
return Math.random()>0.5?'emilie':'novaline';
}
导出默认值{
获取消息,
基因名
}
这是我的测试文件:
从“../moduleA”导入moduleA;
moduleA.genName=jest.fn(()=>'mrdul
我正在用Jest和Cypress用TypeScript测试我的应用程序。Jest文件以.test.ts结尾,而Cypress测试文件以.spec.ts结尾。我使用的是规则附带的。许多Cypress测试不包含expect
如何对以.spec.ts结尾的文件禁用此规则?是否可以在.eslintrc.json中禁用特定文件扩展名的规则?(我想避免在每个.spec.ts文件中都写注释。)
编辑:我知道我可以将“cy.*添加到“assertFunctionNames”中,但是对于.spec文件,我还需要禁
我是javascript新手,我一直在尝试为他的代码编写测试,但我没能,我们应该使用jest。
我已经研究了很长时间没有找到解决方案
document.getElementById(“注册”).addEventListener(“提交”,函数(e){
e、 预防默认值();
数据={
用户名:document.getElementById(“用户名”).value,
电子邮件:document.getElementById(“电子邮件”).value,
密码:document.getEleme
我正在使用jest和enzyme进行单元测试。下面是我的index.js文件。我需要测试文件的openNotification和uploadErrorNotification功能。但是,仅导出uploadErrorNotification函数。那么,如何测试这两个函数呢
此外,除了jest和enzyme之外,我不想使用任何其他图书馆
//index.js
import {
notification
} from 'antd';
const openNotificat
标签: Jestjs
apolloapollo-angular
我试着把Angular、Jest和Apollo结合起来
我的Spec文件遵循文档中描述的结构
当我只运行这样的笑话时:jest--watchAll一切正常。
但如果我喜欢这样:jest--watchAll--collectCoverage,阿波罗测试模块的所有规范文件都会失败,原因是:
TypeError:无法读取未定义的属性“use”
58 | ) {
>59 | this.numberOfDrafts$=this.getNumberOfDraftsGQL.watch().valueCha
标签: Jestjs
cababel-jeststealjs
Hello试图运行canjs v2.3 for JEST,但似乎在测试后返回错误:Reference:steal未定义
我不确定Jest是否支持与stealjs捆绑,我也无法在网上找到关于这张票的资源。我不确定我是否正确理解了这一点,如果没有,请说明我的担忧
提前谢谢。我不相信是这样。我认为Jest非常希望你使用Jest。我四处问问。你说的笑话是什么意思?我使用steal进行编译,但它不起作用
我目前正在使用test.each来并行运行它们,而不是同步运行它们
test.each`
searchEngine | keyword | urlToVisit
${'https://google.com/?num=100'} | ${'aol'} | ${'a[href="https://www.aol.com/"]'}
${'https://google.com/?num=100
我正在使用NestJS和Jest框架来测试NestJS拦截器。我想为拦截器编写一个单元测试。拦截器函数要求两个参数。我已经创建了一个CallHandler的模拟对象,因为它需要最少一个必需参数。但是,我想创建一个ExecutionContext的spy/mock对象,它需要许多参数。如何做到这一点
拦截器看起来像:
@Injectable()
导出类GetFlowDefinitionInterceptor实现NestInterceptor{
公共截获(_context:ExecutionCont
我想为我在inquirer中制作的CLI编写单元测试。我想验证提示是否正确显示,在命令行中模拟选择,并验证响应是否正确。在尝试了一系列程序包、阅读了这些内容并进行了模拟之后,我找到了答案
首先,您需要创建一个testinquire.js
import { writeFileSync, unlinkSync } from "fs";
import * as child_process from "child_process";
const TEMP_FILE_PATH = "/tmp/";
e
我尝试为大多数测试模拟一些节点模块,根据我将模拟文件放入_umock__;文件夹,但我也想在特定测试中使用真实模块,我尝试了jest.unmack('some-module'),但不起作用
这是我的项目结构:
├──__mocks__
│ └── foo.js
│──doSomething.js
│──test.js
__mocks__u/foo.js
const foo = jest.genMockFromModule('foo');
module.exports = foo;
doS
标签: Jestjs
react-testing-library
我试图模拟被拒绝的值,但得到了这个错误。奇怪的是,这种构造在“success”addUser.mockImplementation(value=>jest.fn().mockResolvedValue(value))的情况下起作用,但当我试图用同样的技巧拒绝时,它不起作用,并说“无法读取null的“createEvent”属性”
这是我的测试用例
it('接收无效值并抛出错误',async()=>{
addUser.mockImplementation(()=>
jest.fn().mockRe
我正在为一个我想帮助的包运行测试。然而,在运行测试时(我认为应该可以工作),我得到了大量使用这种输出的失败测试
● PagingType › should create the correct filter graphql schema
expect(received).toEqual(expected) // deep equality
- Expected - 20
+ Received + 20
- type Query {
+ type
这几天来我一直在寻找答案,希望有人能帮上忙
我有一个NuxtJS的工作项目,包括Vuex商店和模块。在应用程序中一切都很好,我可以在代码中使用这个.store.dispatch('cart/updateShippingAddress',addressObject),没有任何问题
现在我在开玩笑地编写我的测试对象,使用shallowMount。在过去,我将propsData和数据传递给正在安装的组件,类似于:
const testProps= { someData: 'goes here' }
c
我正在编写一个异步测试,该测试期望异步函数如下抛出:
it("expects to have failed", async () => {
let getBadResults = async () => {
await failingAsyncTest()
}
expect(await getBadResults()).toThrow()
})
expect(async () => {
await failingAsyncTest()
}).toThr
我不太熟悉测试,尤其是开玩笑。
我正在学习一些教程,其中他们以我尝试的方式处理异步代码。当我做出用虚拟数据解析的自定义承诺时,我的代码似乎可以工作。但当我尝试使用axios从外部API获取时,Jest作为未定义的响应获取
// functions2.js
const axios = require("axios")
const fetch = () => {
axios.get("https://jsonplaceholder.typicode.com/users")
Jest已安装,但当我试图生成Jest.config.js文件时,我收到了此错误未找到命令“Jest”,您的意思是:
来自deb coreutils的命令“测试”
Try:sudo-apt-install
因此,我执行这个/node\u modules/.bin/jest--init命令来生成jest.config.js文件以下内容适用于除jest之外的包,但我使用这个作为示例。这些过程通常与大多数其他节点包类似
本地运行
问题是,jest仅为该项目在本地安装。有几种方法可以做到这一点:
npx
基本上,我想确保使用某些属性调用分析方法,但到目前为止,它不起作用:
Cannot spy the logAppOpen property because it is not a function; undefined given instead
该库已成功模拟,因为我可以看到控制台从我的jest.fn()中注销:
我的班级是:
import analytics from '@react-native-firebase/analytics';
export default class GA
我有一个CREATEREACT应用程序,经常使用jest进行测试,但我正在慢慢迁移到cypress
问题是,现在当我运行jest测试时,它包括我的cypress测试并给出一个错误
ReferenceError: Cypress is not defined
如何使我的jest命名约定*.test.js测试忽略通常称为*.spec.js的cypress测试?在您的jest/config.js或jest配置包中,添加以下内容以替换默认正则表达式以从中查找测试
"testRegex&quo
标签: Jestjs
intersection-observer
我有一个组件使用了intersection observer,并希望在一个玩笑中测试元素相交时的效果。我已经设法模仿了十字路口的观测者,如下面的回答:
现在我想在一个特定的元素上“假回调”isIntersecting触发器。有可能在测试中模拟这一点吗
const observe = jest.fn();
const disconnect = jest.fn();
setupIntersectionObserverMock({ observe: observe, disconnect: di
我正在尝试为monorepo应用程序运行e2e测试,该应用程序还使用monorepo中的多个库,整个应用程序中的所有导入都使用“@app”导入进行解析,例如“@app/config”中的import{ConfigService}
但是,当尝试通过命令运行e2e测试时:
"test:public": "jest --config ./apps/public-microservice/test/jest-e2e.json",
开玩笑:
Cannot fin
配置jest,node.js和typescript后,脚本npx jest在控制台中抛出错误
TypeError: Jest: a transform must export something.
at C:\projects\project-api\node_modules\@jest\transform\build\ScriptTransformer.js:386:19
at processTicksAndRejections (internal/process/task_q
当我运行npm install--save dev jest cli来安装jest时,出现以下错误:
> jest-cli@0.10.0 postinstall /var/www/html/_learning/react/hacking-book/node_modules/jest-cli
> node postinstall.js
{ [Error: Command failed: /bin/sh -c ./setup.sh
/bin/sh: 1: ./setup.sh: not
我试图在Gitlab CI中运行Jest测试。
测试在本地成功,但当我在Gitlab CI上运行测试时,会出现以下错误:
Test suite failed to run
ProcessTerminatedError: cancel after 2 retries!
at Farm.<anonymous> (node_modules/worker-farm/lib/farm.js:81:25)
at Array.forEach (native)
at Farm.<
我正在使用Node.js和Jest进行测试,当我有多个测试文件时会遇到问题
在每次测试中,我都有beforeAll()启动服务器,还有afterAll()关闭服务器。当我有一个测试文件时,它工作得很好。但是当我有两个测试文件时,服务器状态会发生冲突。有时当服务器已经从第一个文件运行时,第二个文件试图运行并导致错误:请听EdReuleUng/类型的错误,有时第一个文件在第二个文件运行的中间关闭服务器,这一切都取决于它有时工作的时间,有时它会遇到问题。
有没有办法在任何测试文件运行之前启动服务器一次
当我在带有浅色背景的终端中运行Jest时,它的黄色输出完全不可读
我试图找到任何允许我自定义颜色的选项,或者完全关闭输出颜色。我发现有很多关于--colors的建议可以打开输出颜色,但这与我需要的恰恰相反
我正在使用带有xterm窗口的Linux,白色背景上有黑色文本。对于版本“jest”:“^24.8.0”,使用jest--no colors命令禁用测试输出的颜色
当使用jest脚本在VSCode中测试LWC时,无法呈现自定义LWC组件,它会抛出一个错误—元素的未知公共属性“smalldevicesize”。这可能是对应属性“smalldevicesize”的输入错误
您使用了错误的属性名称smalldevicesize这应该是小设备大小
以下是一个例子:
<lightning-layout-item small-device-size="">
这是Lightning Web组件。我希望这能起作用。将属性更改为,因为它支持烤肉串表示法。感
标签: Jestjs
gitlab-ciplaywright
我正在使用带有Jest和Jest PLAYWRITER预设的PLAYWRITH,并试图让我的测试在GitLab CI中运行
My.gitlab-ci.yml:
ui_test:
image: node:latest
script:
- npm install
- npm run test:ui
当我在我的Windows机器上本地运行时,一切都正常。但是,如果尝试在GitLab CI中运行,则会出现以下错误:
2020-06-26T21:01:39.770Z pw:ap
有没有办法用一些自定义属性扩展全局jesttest?例如,我希望在测试前以这种方式实现一些逻辑:
test.debug({/*…*/},'test',()=>{
// ...
});
如果定制需要与环境进行更深层次的交互,则可以在或中执行此操作:
it.whatever = (whateverArg, ...args) => {
const cb = args[1];
if (cb) {
args[1] = cb.length ?
在过去的几天里,我一直被Jest在descripe块中如何处理之前的感到困惑。我希望每个description之前的只在description内部运行测试时执行
我已经编写了这个测试文件(测试文件?):
异步函数wait1sec(){
返回新承诺(resolve=>setTimeout(resolve,1000));
}
异步函数logWait(i,isdescripe=false){
log(`before wait inside${isdescripe?'descripe':'it'}#`+
我正在尝试使用jest和react测试库编写一个测试。
我安装了节点提取以解决“未定义提取”问题
但这给了我另一个问题:
只支持绝对URL
我在谷歌上搜索了很多页面,但不知道如何解决这个问题。
我的项目是建立与网页,反应。不是通过创建react应用程序
我的网页包配置:
const HtmlWebPackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-pl
我在catalina上使用最新的iTerm,它具有“语义历史”功能,允许您在终端中Cmd+单击URL和文件名/路径。我将iTerm设置为打开vscode:
如果文本类似于“src/foo/bar.js:3:3”,那么这似乎很有效,但是如果文本类似于“src/foo/bar.js”,那么它会将其视为文件url。当您按住CMD键并将鼠标悬停在这些纯文件路径上时,它会在右下角显示完整的文件url,就像您将鼠标悬停在浏览器中的链接上一样:
文件://url的最终结果是,它将打开操作系统指定的默认应用
我不太会开玩笑。将Jest视为一个单元测试框架,如何将其用于测试网站。我发现Jest示例适用于Java脚本业务功能的验证,但如何将其用于类似于Selenium的网站测试。如果有人能提供更新,那就太好了
提前谢谢
gtlkanth不能用于端到端集成测试。它的重点是测试应用程序逻辑的独立功能
没有什么可以阻止您使用http模拟库(如nock)来模拟http请求,然后使用Ezyme来模拟click等,然后使用Jest作为断言库。
我用木偶和笑话来测试前端的一些东西,我有一个小问题——我想我缺少一些概念
test("Assert that when checkbox isn't checked, dropdown menu is visible", async () => {
let checkbox = await page.$('input[ng-model="user.managed.timezone"]');
console.log("Checking if checkbox checked"
我正在尝试用jsdom和jest做最简单的事情——加载一个HTML文件来测试它的DOM:
const jsdom = require('jsdom');
const {JSDOM} = jsdom;
JSDOM.fromFile('../src/index.html'), {})
.then(dom => {
console.log(dom.serialize());
// need to run tests here...
})
我有以下代码(t
现在,当我运行此命令时,我得到以下错误
ReferenceError:无法在初始化之前访问“testMock”
这可能与嘲笑或类似的事情有关吗
此外,如果我将testmock移到mock的范围内,那么它就可以正常工作
// this works
jest.mock('aws-sdk/clients/sns', () => {
const testMock = jest.fn().mockImplementation(() => {
return {
我得到这个错误:
FAIL src\webparts\crud\__test__\CrudWebPart.test.tsx
● Test suite failed to run
C:\Users\admin\Desktop\github\crud-simple-test\node_modules\@microsoft\sp-http\lib\index.js:12
export { default as HttpClient } from './httpClient/H
我在这里遵循官方文档:为我的react组件创建测试
然而,我似乎找不到一种方法来测试传递到变异中的数据的形状,我对这样做很感兴趣,因为这样可以确保我的代码按预期工作
详细说明。假设这是一些伪代码的样子:
const [doMutation] = useMutation(MUTATION)
...
await doMutation({...data})
在我的测试(jest/react测试库)中,我想:
expect(doMutation).toHaveBeenCalledWith({...da
我试图扩展Jest,以便更容易地让API集成测试在不同的API之间进行
我遵循了这一原则,并使其在一定程度上发挥了作用。以下是我的设置:
jest.setup.api.ts
test.apiOne = async (
name: string,
fn?: jest.ProvidesCallback,
timeout?: number
) => {
console.log(`Running test "${name}" against
在一个节点应用程序中,我使用Jest测试客户端代码(TestenEnvironment:'jsdom')和服务器端代码(TestenEnvironment:'node'),并收集客户端和服务器端的代码覆盖率
目前,我正在使用4个Jest配置文件和大量冗余配置来实现这一点
客户
{
"bail": true,
"verbose": true,
"notify": true,
"scriptPreprocessor": "./node_modules/babel-jest",
"
我试图设置jest来测试现有的项目,但是所有的测试文件名都像someFileSpec.js而不是someFile.spec.js
如何配置jest查看这些文件,而不重命名所有文件?这是jest设置中的设置:
testRegex: '(<rootDir>/test/.*|)Spec\\.jsx?$',
testRegex:'(/test/*|)Spec\\.jsx?$,
这是您的笑话设置中的设置:
testRegex: '(<rootDir>/test/.*|)Spec\
当使用扩展了NodeEnvironment的自定义类时,我得到了一个语法错误:意外的令牌导入。当不使用自定义测试环境时,现代JavaScript-ES模块等工作正常
我正在使用node8.11.1和warn1.6.0
这是全部错误:
$ jest --no-cache
FAIL __tests__/math.js
● Test suite failed to run
/home/user/workspace/web/jest-custom-environment-no-impor
我很好奇是否有使用jest的测试示例,在build/protobuf中使用动态生成的节点客户机
我正在实现一个节点客户端,它动态地生成它调用的服务的protobuf文件,并通过grpc调用该服务。我很困惑,我们如何模拟.proto文件王浩的运气如何?
标签: Jestjs
react-apolloreact-testing-library
我在测试使用Apollo工具生成的自定义graphql变异挂钩的组件时遇到了一个问题。mutation钩子来自graphql.tsx文件,该文件从@apollo/react common导入*作为ApolloReactCommon
组成部分:
import React, { ReactNode } from "react";
import {
ListItem,
ListItemText,
ListItemSecondaryAction,
IconButton,
标签: Jestjs
puppeteerjest-puppeteer
我正在尝试为我的木偶表演项目设置测试。我遵循一个基本的指南,测试通过了,但是终端中有两个控制台错误
使用或时不会显示错误。所以看起来可能是某个特定网站的问题
console.error
Unhandled error
at process.uncaught (node_modules/jest-jasmine2/build/jasmine/Env.js:248:21)
at handler (node_modules/jest-environment-pupp
我正在学习笑话测试,我想在笑话和酶中有些东西我不明白。我试图做一件简单的事情,看看是否可以在输入上更改值,以便在之后测试更复杂的东西,但它不起作用:
我错过了什么?应用程序中的道具值从未更改,但输入值应更改否
我的第二个测试是使用material ui:
也不起作用。。。真伤心
谢谢大家!如果你有任何链接到最近关于笑话和酶的完整教程,那就太好了。Ty也许酶不能完成我想要的。。。正在测试单击事件的模拟是否无效。。。如果要测试单击的影响,请更改状态、道具和dom。我应该为此使用RTL吗?
我尝试只运行一个Jest测试,是否使用以下命令:
jest--config=jest.config.js--runInBand--bail--forceExit“services\u rest\u Api”“-t”“应该列出所有标记注释”
使用以下配置:
module.exports={
测试匹配:[
“***/tests/***/.js”,
],
testPathIgnorePatterns:[
“/node_modules/”,
“测试/支持/”,
“test utils.js”,
'fil
当我在nx工作区中使用jest进行失败的单元测试时,它会打印出一个毫无帮助的堆栈跟踪,并使控制台混乱不堪。有没有办法抑制这种情况
at onResult (../../../node_modules/@jest/core/build/TestScheduler.js:175:18)
at ../../../node_modules/@jest/core/build/TestScheduler.js:304:17
at ../../../node_modules/emit
我需要在两个不同的测试中使用不同的模拟值
目前我有以下代码(部分代码):
但我的问题是,如果我把那些jest.mock('soap',()=>({定义放在每个it()中,它就不起作用了。如果我把它放在descripe上面,它就可以了,但只适用于第一种情况,而不适用于第二种情况,当然我需要相反的情况(拒绝)
如何使用模拟值,一个用于第一次测试,另一个用于第二次测试?Hm,我解决了这个问题:
(soap.createClientAsync as jest.Mock) = jest.fn(() =&g
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 19 页