我最近开始了一个已经成熟的项目,其中我正在集成Jest测试框架。该项目使用React与Webpack。在webpack的配置中,团队使用webpack.ProvidePlugin来提供React、lodash和类名(不是我想要做的,而是随便做什么)。
我遇到的问题是,文件顶部的大多数React类都包含像React.Component这样的东西,由于有了webpack的基本配置,它工作得很好。但是,当我运行相应的测试文件时,我只得到React is not defined,除非我显式地要求React。
有一个webpack.test.config文件需要基本的webpack配置,但我似乎无法获得
我正在尝试遵循https://jestjs.io/docs/en/api中关于导入全局变量的建议,即: However, if you prefer explicit imports, you can do import {describe, expect, it} from '@jest/globals'. 不过,它不起作用。我在两个测试文件的顶部添加了import,当我运行jest时,两个测试套件都失败,并显示消息"Do not import @ Jest /globals not of the Jest test environment“。 我还在eslint
背景
我正在从事一个起源于angular.js项目的项目。我们目前正在将所有的东西迁移到角度。这意味着我们将对Angular.js进行遗留单元测试,这些测试最终将被删除。从角度上讲,我们已经将所有测试迁移到Jest。
问题
当在项目中同时使用Karma and Jasmine作为Jest时,就会出现问题。遗留单元测试是用自己的tsconfig文件连接起来的,这些测试工作得很好。这两个库似乎都在向全局环境中添加相同的函数,Jest测试以某种方式继续解析Jasmine类型。如果我将Karma and Jasmine从项目中删除,那么所有的测试都能正常工作。
问题
在运行jest时,如何才能排除ja
我有一个Jest测试套件无法运行,因为它试图测试的组件依赖于RequireJS模块。下面是我看到的错误:
FAIL __tests__/components/MyComponent.test.js
● Test suite failed to run
ReferenceError: define is not defined
at Object.<anonymous> (node_modules/private-npm-module/utils.js:1:90)
该组件具有以下导入:
import utils from 'private-np
我正在尝试在部署后运行我的e2e测试,这样我就可以在发生任何故障时回滚。我遵循了中描述的指令
这是我的羔羊
export async function testLambda(event: APIGatewayEvent, context, callback) {
console.log('The first version!')
const response = {
statusCode: 200,
body: JSON.stringify({
message: 'The first version
我正在尝试在项目中安装vue-test-utils和jest。这是一个vue-cli项目,但我在最初运行它时并没有设置测试。 它会找到测试,但在import语句上失败。 这就是错误。 Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
By default, if Jest sees a Babel config, it w
我一直在做一个,并且遇到了一个恼人的问题,在这个问题上,jest无法解决相对于根dir的导入问题。
Cannot find module '~lib/dates' from 'utils.ts'
这是导入在组件/ utils中的样子。
import { abc } from '~lib/dates'; // this fails to run
如果我将其更改为相对路径,jest测试运行将按预期运行。
import { abc } from '../../lib/dates'; // this runs as expect
我正在使用Jest进行测试。如何访问正在运行的当前测试的文件名或文件路径?
我需要一个条件语句,根据它是单元测试文件还是集成测试文件来运行不同的代码行。
下面是我正在尝试实现的一个示例:
beforeAll(() => {
if (integration_test_file){
// run this this code
} else if (unit_test_file){
// run this code instead
}
})
我正在运行一个组件的测试,该组件需要检查它是否具有特定的CSS样式。由于在默认情况下不具有此功能,所以我安装了@ test -库/ run本机在那里使用toHaveStyle,但是在运行测试时我得到了一个错误:测试套件无法运行。无法从“我的测试文件的路径”中找到模块‘@ test -library/jest-本机’。下面是我的测试和jest配置:
// test file
import React from 'react';
import {toHaveStyle} from '@testing-library/jest-native';
describe
当我运行npm测试时,我得到了以下错误,我们在单元测试覆盖率中使用了jest。
测试套件未能运行AngularJS v1.x未载入!
at Object.noNg (../../../packages/upgrade/src/common/src/angular1.ts:228:9)
at node_modules/@uirouter/angular-hybrid/bundles/ng:/@uirouter/angular-hybrid/angular-hybrid.ts:51:38
at node_modules/@uirouter/angular-hybrid/bundles/
注意:我将src/nod_modules文件夹中的所有代码直接移动到src文件夹中,并按照以下短线程:删除src/node_modules,从而修复了这个问题。
我使用的是创建-反应-应用程序和运行Jest有困难。
当我试图将任何一个响应组件导入到我的测试文件中时,当我yarn test时会得到一个错误。
Test suite failed to run
.../src/node_modules/common/ErrorMessage.js:1
({"Object.<anonymous>":function(
module,exports,require,__d
我通过CDN使用mapquest api,并在我的typescript代码中将其声明为"declare let L: any;“。当我尝试编写单元测试并运行测试套件时,我得到一个错误"ReferenceError: l is not defined“。 我使用Angular 8和Jest作为测试跑步器。请让我知道,如何在单元测试中包含声明。提前感谢
我在这里看到过关于嘲笑默认出口的问题,但我不认为这已经被问到了:
在模拟正在测试的模块的依赖项的默认导出时,如果模块使用ES6 import语句导入依赖项,则测试套件无法运行,但是,如果模块使用require().default调用,则声明TypeError: (0 , _dependency.default) is not a function It succeeds。
在我的理解中,import module from location直接翻译成const module = require(location).default,所以我很困惑为什么会发生这种情况。我宁愿保持代码风格的一致性,而