标签: Jestjs
azure-pipelines-build-task
我发现了一些特定于jest单元测试的版本,可以在VSTS构建测试结果选项卡中发布其结果。但是没有找到合适的解决方案。我扔了一些jest npm包,比如和jest json,去点击,但无法找到它的工作。下面的步骤对我来说很有效,我可以在构建中查看结果
安装
创建包含以下内容的jestTrxProcessor.js文件:
var builder=require('jest-trx-results-processor');
变量处理器=生成器({
输出文件:“jestTestresults.trx”
Jest文档清楚地显示了当它是默认导出时如何执行。例如,以下是作为默认值导出的类:
class QueryService {
query(queryText: string): Promise<any> {
// ----- Query the API -----
// ----- Return the result -----
return Promise.resolve({
data: {
有人知道使用测试工具在NestJS上测试服务的正确方法吗
这是我的服务测试类:
description('AddressService',()=>{
let模块:测试模块;
让addressService:addressService;
let addressRepositoryMock:MockType;
const-req:CrudRequest={parsed:null,options:null};
const createDto:Address={省略:'};
const address
我正在开始测试,我真的被困在这件事里了
我有一个组件
interface IFiltersInput {
onChange?: (e: any) => void;
onKeyUp?: (e: any) => void;
value?: string;
type?: string;
id?: string;
isInvalid?: boolean;
name: string;
label: string;
}
export
在运行测试时,PhpStorm的最新版本(当前为2021.1)将在我的src目录中添加一个覆盖率文件夹
它似乎是所有文件的代码覆盖率报告。有没有办法阻止它那样做?
我从来没有使用过它,经常忘记将它添加到我的.gitignore文件中,它经常被提交
对我们来说,这是不必要的
编辑2021-06-03
根据LazyOne在下面的评论,这似乎是一个玩笑
我不知道这只是一个开玩笑的问题,因为我现在不使用PHP(尽管仍然有编辑器)
它只是在最近的更新中才开始发生,因此我感到困惑
将coverage目录设置
我有一个类,它在构造函数中启动并启动一个设置函数,如下所示:
import { myFunction } from './util';
export class MyClass {
constructor() {
myFuction()
}
}
在这个函数中,我有:
export function myFunction() {
window.fruit = 'apple';
}
我想开玩笑地测试myFunction函数是否被激发,window.fruit是否具有Appl
我正在使用Jest测试我的React应用程序
最近,我添加到我的应用程序。我的测试失败,出现以下错误:
Test suite failed to run
/my_project/node_modules/deck.gl/src/react/index.js:21
export {default as DeckGL} from './deckgl';
^^^^^^
SyntaxError: Unexpected token export
at ScriptTransformer._tra
我想监视组件外部的函数,但它不能很好地工作
我收到一条类似于的消息,预期mock函数被调用了一次,但它被调用了零次。
在这种情况下,我不想使用mock()方法而不是spyOn()
有办法解决吗?谢谢你的阅读D它不起作用,因为这行:
const func_spy=jest.spyOn(测试'func');
…正在为func的模块导出创建间谍
…但是Test.do不调用func的模块导出,它直接调用func
有两个选项可以修复它
一种是将func移动到它自己的模块中
然后,它的模块导出将被导入到
我在Vue应用程序中使用了Array.flat,测试失败,出现TypeError:variable.flat不是函数
我已经发现了一些github问题,但没有一个可以帮助:
你知道为什么babel没有多边形填充Array.flat函数吗
我的配置全部位于根目录中
.browserslistrc
defaults
babel.config.js
module.exports = {
presets: [
'@vue/app',
],
};
moduleFileExten
我已经用create react app启动了一个全新的react项目,我希望能够从webstor运行测试
但是当我运行测试时,我会得到以下错误:
无法识别的选项“SetupTestFrameworkScript文件”。。我找不到正在设置setupTestFrameworkScriptFile的位置。
我怎样才能使错误消失
这里我附上我的webstorm配置。
升级到Webstorm 2019.3.2后已修复您的Jest配置中是否有“SetupTestFrameworkScript文件”?检查你
我已经看到,您可以使用GitLab动态地进行代码覆盖。因此,在其中一个CI作业中,必须有
我有一个react项目,它使用jest进行测试。我发现您可以使用--coverage参数,这将输出以下内容:
PASS __tests__/App-test.js
✓ renders correctly (631ms)
----------|----------|----------|----------|----------|-------------------|
File | %
标签: Jestjs
react-testing-library
设置:
我正在做一个集成测试。具有引入两个子组件的父组件。在子组件的上,有一个onClick调用该子组件文件中的方法。我导出那个方法,嘲笑它
问题:
在测试中,我使用onclick,fire事件查找“div”。但是TohaveBeenCalledence并没有显示它已经被调用。当我触发事件时会调用实际的方法,但“spyon”实际上并没有监视它
代码:
该内部方法被认为是实现细节,我们希望避免测试这些细节。相反,通过激活该方法来测试为用户更改了哪些功能,例如,如果它引入了新的DOM节点,更改了元素
//这是我的filename.test.js文件
test('should setup to add the expense in the expense list', () => {
const addExpense = {
description: 'Wifi Bill',
note: 'Heavy price',
amount: 9000,
createdAt: 2000
}
expect(add
标签: Jestjs
environment-variablesserverless-frameworkserverless
我正在使用Jest为我的无服务器框架服务进行集成测试。目前我有指定环境变量的.env文件,这就是我的问题所在
在my package.json中,我有:
...
"scripts": {
...
"start": "npx sls offline start --env local --httpPort xxxx --port xxxx --lambdaPort xxxx"
}
...
当我调用warn start时,服务将正
如何在一个测试套件中独立运行多个测试用例而不重新启动应用程序。我目前只使用单个it()函数
it('', async function(){ ...menutestcase, ..homescreenTestcase, ..SettingsTestcase, ...});
我想独立运行所有测试用例,这意味着,如果一个测试失败,另一个测试将继续。目前,可以为每个测试用例使用多个it()函数来实现此功能。像
it('', async function(){ ...menutestcase);
it
在某些情况下,我无法确定是哪种情况,我无法在Jest CLI中显示过滤后的测试。也就是说,如果我按p按文件名过滤,在某些项目中,我可以让它在键入时列出匹配的文件,这是一个很大的帮助。但在其他情况下,它不会正确运行筛选结果,但它不会在我键入时列出匹配项(t按测试套件进行筛选也是如此)
这种情况发生在Windows、Ubuntu上,同事们在MacOS上报告过。是否有一些配置设置或控制它的东西?我必须安装它并将其放入配置中才能工作。
说笑,我需要测试一个期望值,它可以是null,也可以是object
{
main: {
prop1: 'abc',
prop2: '123',
}
}
但是如果它是一个对象,那么我并不真正关心main包含什么,我不关心prop1或prop2。我只需要断言对象包含一个名为main的键
提到objectContaining,但它仍然要求我至少指定一个道具,从而使我的代码变得不必要的冗长
是否有任何快速的方法可以实现一个名为objectContainingKey的断言,例如:
我想使用puppetter运行一个测试,我先使用puppetter设置测试,然后使用done参数完成设置
beforeAll(async (done) => {
try{
browser = await puppeteer.launch({
headless: false,
slowMo: 20,
args: [`--window-size=${width},${height}`]
})
page = await brow
我将Jest升级到24.1,并通过npx babel升级--write将babel升级到24.1。使用异步函数的我的单元测试失败,原因是:
ReferenceError:未定义regeneratorRuntime。我在谷歌上搜索了错误,有一些关于babel的beta 7版本或beta 6版本的旧信息。如何修复错误
作为参考,我的package.json和babel.rc文件位于我最后通过添加到我的babel.rc文件来解决这个问题:
["@babel/plugin-transform-runti
我希望这两个toEqual()测试都能通过。第一个通过了,但第二个没有。为什么?
test('something', () => {
const m = Map({
a: 1,
b: 2,
})
expect(m.valueSeq()).toEqual(m.valueSeq());
expect(m.valueSeq().filter(_ => true)).toEqual(m.valueSeq());
});
这一行:
expect(m.valu
jsdom版本15.1.1 jest版本24.9.0 node.js版本10.16.0
我试图通过使用从脱机html页面获取信息
var summaryInfo = document.querySelectorAll(".className");
Array.prototype.slice.call(summaryInfo).forEach(n => ... }
在这种情况下,应该返回6个信息数组,但我只得到2个
同样的代码在普通浏览器中也可以正常工作,但是当我将jsdom与jest一起
我试图在一个定制的可重用组件上完成一个jest测试,但很难让它正常工作。我已经在沙箱中使用纯材质ui组件将其还原,但仍然难以模拟单选按钮单击。我试过了
wrapper.find(Radio).first().simulate('click');
wrapper.find(Radio).first().prop('onChange', { target: { checked: true } });
wrapper.find(Radio).first().simulat
标签: Jestjs
puppeteerjest-puppeteerxstate
我正在尝试使用@xstate/test自动生成结果,并将其与木偶演员和笑话相结合。使用jest的beforeAll和aftereall钩子,我正在调用page.setRequestInterception,并注册一个回调来拦截网络请求并模拟它们的响应
XState生成我想要测试的路径,从每个路径我可以确定测试是否想要测试API失败或成功时应该发生的事情。我被困在如何正确地与Puppeter通信并在我的请求处理程序中访问该信息的问题上。我发现的一个选项是使用查询参数。传递给事件处理程序的请求对象可
我设置了一个简单的NextJS项目,在Jest识别环境变量时遇到了问题。我已经尽我最大的能力按照指示去做了,但没能让它工作
这是我问题的简化版本
// .env.test.local
MY_ENVIRONMENT_VARIABLE=my_value
//我要测试的函数
导出常量getEnvironment=()=>{
const MY_ENVIRONMENT_VARIABLE=process.env.MY_ENVIRONMENT_VARIABLE;
返回MY_环境_变量;
};
//我的测试
我有一个Cypress测试,它监视控制台日志,并希望用一个包含其属性1中的数组的对象调用它,该测试可以工作,但它非常严格,必须完全相同的排序顺序,但在某些情况下,顺序可能会有所不同,然后即使数组成员是我想要的,我的测试也会失败
柏树试验
description('我的测试',()=>{
在每个之前(()=>{
//创建一个console.log spy供以后使用
cy.window()。然后((win)=>{
cy.spy(win.console,“log”);
});
});
它(`shoul
我有一个带有客户端和服务器代码(UI vs Express)的项目。client和server文件夹都有一个jest.config.js和一个tsconfig.json
我想用一个覆盖率输出运行两组jest测试,包括计算覆盖率报告中未测试的文件
Jest项目允许运行这两组测试(使用ts Jest预设)
然而,保险范围给我带来了一些问题
使用默认的babelcoverage提供程序-collectCoverage from只能在根配置中指定-它似乎正在从最新的项目中拾取ts jest配置。因此,c
尝试使用jest模拟内部函数,但未能实现,原始函数如下
function a(param1, param2, callback){
let handleResponse = (err, result, fresh) {
console.log(result)
}
redis.cache.get('cacheKey', data => {
if(data !== null){
handleResponse(null, dat
我正在更新一些Jest测试,并尝试使用一些依赖项中的es6模块。所讨论的依赖项将具有如下结构:
node_modules/
foo-bar/
assets/
js/
foo-bar/
index.js
other.js
用于foo-bar的package.json将具有以下导出:
“导出”:{
“:”/assets/js/foo-bar/index.js“,
“/”:“/assets/js/foobar/”
}
我正在通过npm-test运行Jest测试。默认情况下,Jest并行运行测试。有没有办法让测试按顺序运行
我有一些调用依赖于更改当前工作目录的第三方代码的测试。也可以通过运行命令jest--help来访问
您将看到您正在寻找的选项:。我仍然对Jest很熟悉,但似乎描述块是同步运行的,而测试块是异步运行的。我正在一个外部描述中运行多个描述块,该描述类似于:
describe
describe
test1
test2
describe
有人能举例说明如何使用jest globals吗
{
...
"jest": {
"globals": {
"__DEV__": true,
}
}
...
}
我是在package.json文件中指定globals,还是用js文件创建一个应该定义globals的文件夹
谢谢是的。您将globals放在package.json中。例如,以下是默认react native jest配置的摘录:
"jest": {
"globals": {
我有一套测试正在使用jest运行
- initFromProgressObject.test.js
- nodeifyProgressObject.test.js
- segments.test.js
- uuid.test.js
- volume.progress.test.js
- volume.segment.test.js
我用来运行测试的命令是jest--notify。以下是我在其中两个文件中得到的错误:
/Users/bob/Developer/sedd/s
我已经开始从redux表单迁移到react最终表单,以使我的包更小。我对我的表单进行了两项测试,其中一项是测试表单提交时是否调用了正确的操作。切换到react final form后,不会调用测试中的Store action
当表单作为属性传递时,是否有方法测试提交函数
我的测试:
it('submits the form', () => {
const wrapper = shallowUntilTarget(<LoginFormContainer store={sto
我试图在用玩笑和酶解决承诺后测试这些方法。我的组件/功能代码:
// Functional Code
let functionAfterAsync = () => {
console.log('functionAfterAsync called');
}
const asyncFunction = () => {
return new Promise(resolve => resolve());
}
const functionWithAsyncCode = () =&
正在尝试为正在导入的select组件运行以下测试“react select”
我使click事件正常运行,但onChange事件显示错误:
TypeError: Cannot read property 'Accounts' of undefined
以下是错误所在的位置,第行:
setReport = () => {
let data = this.state.Account.accountBody;
this.setState({
AccountToken: data.
我正在开发一个HTTP模拟库,并且正在编写一个测试,该测试断言我的库不会拦截对特定URL的请求。我在开玩笑
以下是测试:
test(“它可以通过单独的路径”,async()=>{
server.passthrough(“/地址”);
试一试{
等待获取(“/地址”);
}捕获(e){
期望(1)、托夸尔(1);
}
});
测试通过了,但我的输出如下:
我认为这是由于未处理的网络请求而导致jsdom编写错误。但就我而言,这是意料之中的
如何抑制或覆盖此控制台消息?在以前的QUnit设置中,当
我用Jest的spyOn模拟方法测试了react redux的useSelector,使用酶浅贴法。我的同事指出,我没有在我的组件中使用某种形式的ReactRedux.useSelector(),所以他不明白为什么模拟可以工作;他从威尔·奥克尔曼·瓦格纳(Will Ockelmann Wagner)的帖子中读到,这是一个具有useEffect的需求。《华盛顿邮报》如此声明:
这里需要注意的一点是,如果您按照文档建议的方式从“React”导入React,{useffect},您将不会导入模拟函数,
标签: Jestjs
apollo-clientreact-testing-libraryreactive-variable
给定一个反应变量
export const isLoggedInVar:ReactiveVar=cache.makeVar(
!!localStorage.getItem(“apiToken”)
);
注销挂钩简化为:
函数useLogout():分派{
const client=useAppolloClient();
const[loggedOut,setLogout]=使用状态(false);
useffect(()=>{
const resetCache=async():Promise=
在nestjs中,测试文件(cli中的模板)在每个测试之前都有test.createTestingModule内部beforeach,因此它会在每次测试之前重新创建模块
e、 g.foo.service.spec.ts
import { Test, TestingModule } from '@nestjs/testing';
import { FooService } from './foo.service';
describe('FooService', () => {
let
我习惯于使用Sinon.js大量地使用with args有条件地返回假值,从而对Sinon.js进行模拟(实际上是伪造的,但不管怎样)。现在我正在尝试迁移到Jest,我很抱歉在模拟API中找不到任何类似的东西
我想要的是:
const t = sinon.stub();
t.withArgs('foo').returns('bar');
console.log(t('foo')); // 'bar'
console.log(t('qux')); // undefined
看来开玩笑的唯一方
标签: Jestjs
angular-directiveangular8angular-testangular-jest
我正在使用jest.js对angular应用程序进行测试。以下是我在html中使用的指令:
<textarea errorHighlighter formControlName="Url" name="Url" cols="50" rows="5"
placeholder="Enter Page URL" (ngModelChange)="pageUrlChanges($event)"></textarea>
标签: Jestjs
puppeteerts-jestjest-puppeteer
我试图让木偶演员在使用现有的Chrome浏览器的同时使用Jest进行e2e测试
我从支持的浏览器列表中为chrome浏览器版本“84.0.4147”选择我的木偶演员版本“5.1.0”
我正在尝试使用以下链接中的信息来配置Jest和Puppeter
显然,木偶人图书馆试图下载chrome浏览器二进制文件,我跳过了b/c,我想使用现有的chrome浏览器。我很难配置它
在这里有一些帮助,但仍然没有足够的帮助如何使用现有的浏览器
我假设使用现有的chrome配置应该在jest.puppeter.co
Jest非常适合测试组件快照
是否有一种方法也可以使用Jest快照概念来测试JavaScript画布渲染代码,方法是让它比较实际位图和预期位图?常规方法有效:
expect(bitmap).toMatchSnapshot()
图像将序列化为快照文件中的JSON字符串:
// Jest Snapshot v1, ...
exports[`renders ok`] = `
ImageData {
"data": Uint8ClampedArray [
0,
25
有没有什么例子可以说明我如何使用Ezyme的shallowrender函数获取组件,并将其序列化为更具可读性的快照
我查看了addSnapshotSerializer的文档,并尝试查看enzymetoJSON的代码,但运气不好
最后我想出了一些关于
expect.addSnapshotSerializer({
test: v => true,
print: (v, s) => Object.keys(s)
});
但这也没能让我走得更远
我有一些测试需要与所有其他.test文件一起运行,所以我称它们为.integration.js
如何测试具有.integration.js的所有文件
示例文件;
endpoint.integration.js您可以使用config键testRegex配置自定义测试文件名。
默认值为:(/\uuuu-tests./*\124;(\\.\ 124;/)(test-spec))\\.[jt]sx?$
因此,要仅在诸如endpoint.integration.jstests之类的文件中运行测试,可以使
我正在尝试使用Jest和Babel让JavaScript装饰程序工作:
/package.json
/测试/单元/.LRC
./test/unit/jest.json
当我运行纱线测试时我得到:
yarn run v1.12.3
$ jest --no-cache --verbose --config ./test/unit/jest.json
@babel/preset-env: `DEBUG` option
Using targets:
{
"node": "11.9"
}
Usin
我的组件中有React-Spring动画:
<SpinnerKf state={status} onRest={changeView && status === 'SUCCESS' ? () => changeView(VIEW_MODES.RECEIPT) : null}>
....
</SpinnerKf>
changeView(查看模式.接收):null}>
....
其中,我在onRestprop内传递函数调用-这是React S
标签: Jestjs
react-testing-library
我的componentDidMount触发对异步函数的调用,但根据该函数的结果,它可能不会导致任何DOM更改。有什么方法可以让我在测试中等待函数完成吗
下面是一个示例-单击按钮最初是禁用的。如果异步函数返回true,则应启用单击按钮:
myAsyncFunction.mockImplementation(() => true);
const {queryByText} = render(<Component />);
const button = que
我正在为Vue组件的方法编写一个Jest测试。具体地说,我想测试是否使用某个参数调用了Vuex操作(我已使用mapActions映射到组件中的此操作)
我模拟了应该传递给动作的参数——我的测试接近尾声,但动作收到的参数有一堆额外的信息,我不知道为什么
我正在测试的组件中的方法是:
triggerSave (trip) {
if (this.canSave) {
const tripToSave = { tripInProcess: true, trip: { tripId: trip
我正在尝试用vscode调试测试。
开玩笑就是跑步。
这是我的启动配置
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest All",
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
在Ruby(使用RSpec)中,有一个名为的特性,允许您对一组期望进行分组,同时查看所有的失败
我想知道Jest是否也有类似的功能。框架似乎没有提供这一点,但可能有人知道库可能不可能:可能不可能:
1 2 3 4 5 6 ...
下一页 最后一页 共 19 页