Тест ниже приведен надуманным примером, предназначенным для демонстрации проблемы, с которой я сталкиваюсь. Я использую Jest и Puppeteer, чтобы проверить функцию, называемую DoSomhething . Файл, содержащий функцию (random.js), также импортирует файл CSS (index.css). Когда я запускаю свой тест, это заканчивает время. Я также увеличил тайм -аут Jest, но мой тест все еще не прошел. Если я удалю импорт CSS в random.js, тест проходит./* global doSomething */
jest.setTimeout(10000)
test('dummy test', async () => {
await page.goto('http://localhost:3333/test/unit/random.html')
await page.setViewport({ width: 1280, height: 800 })${message.text()}`))
await page.waitForFunction('window.doSomething')
await page.evaluate(function () {
doSomething()
})
expect(true).toBe(true)
})
< /code>
random.html (страница, на которую переходит мой тест): < /p>
Random Page
import doSomething from 'http://localhost:3333/test/unit/random.js'
window.doSomething = doSomething
< /code>
random.js (содержит тестируемую функцию): < /p>
import './index.css'
export default function doSomething () {
console.log('something')
}
< /code>
index.css:
.random-class {
color: #ffffff;
}
Вот команда Jest, которую я запускаю, которая выполняется через NPM -тест :
jest --projects test/unit --runInBand random.test.js
< /code>
output: < /p>
Jest dev-server output:
[Jest Dev server] Starting up http-server, serving ./
[Jest Dev server]
http-server version: 14.1.1
http-server settings:
CORS: disabled
Cache: 3600 seconds
Connection Timeout: 120 seconds
Directory Listings: visible
AutoIndex: visible
Serve GZIP Files: false
Serve Brotli Files: false
Default File Extension: none
Available on:
http://127.0.0.1:3333
[Jest Dev server] http://192.168.0.140:3333
http://10.212.134.200:3333
Hit CTRL-C to stop the server
[Jest Dev server]
[Jest Dev server] [Mon Jul 07 2025 09:55:19 GMT-0700 (Pacific Daylight Time)] "GET /test/unit/random.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"
(node:2714190) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
(Use `node --trace-deprecation ...` to show where the warning was created)
[Jest Dev server] [Mon Jul 07 2025 09:55:19 GMT-0700 (Pacific Daylight Time)] "GET /test/unit/random.js" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"
[Jest Dev server] [Mon Jul 07 2025 09:55:19 GMT-0700 (Pacific Daylight Time)] "GET /test/unit/index.css" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"
FAIL test/unit/random.test.js (10.409 s)
✕ dummy test (10002 ms)
● dummy test
thrown: "Exceeded timeout of 10000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
Я также попытался расстегнуть свой файл index.css, используя modulenamemapper в моем файле jest.config.cjs:
moduleNameMapper: {
'@/(.*)': '/../../src/$1',
'^d3$': '/../../node_modules/d3/dist/d3.min.js',
'\\.css$': '/../__mocks__/style-mock.js'
}
< /code>
где Style-mock.js содержит: < /p>
console.log('style-mock called')
module.exports = {}
< /code>
Эта макет, однако, кажется, игнорируется. Сообщение журнала консоли, которое я включил в style-mock.js, не напечатано при запуске моего теста.import doSomething from './random.js'
// REWRITE THE TEST TO NOT USE PUPPETEER. THIS PASSES
test('should something', () => {
doSomething()
expect(true).toBe(true)
})
< /code>
Есть идеи, в чем проблема? Кажется, что кукловодитель не обрабатывает импорт CSS в random.js или CSS Mock в jest.config.cjs. < /P>
Вот список моих зависимостей Dev: < /p>
"devDependencies": {
"@babel/preset-env": "^7.23.9",
"chokidar-cli": "^3.0.0",
"d3": "^7.6.1",
"eslint": "8.13.0",
"eslint-plugin-jest": "^27.6.3",
"http-server": "^14.1.1",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"jest-puppeteer": "^6.1.1",
"npm-run-all": "4.1.5",
"puppeteer": "^16.2.0",
"standard": "17.0.0",
"stylelint": "15.2.0",
"stylelint-config-standard": "30.0.1"
Подробнее здесь: https://stackoverflow.com/questions/796 ... o-time-out
Файл CSS, вызывающий тест Jest/Puppeteer в Time Out ⇐ Html
Программисты Html
-
Anonymous
1751985950
Anonymous
Тест ниже приведен надуманным примером, предназначенным для демонстрации проблемы, с которой я сталкиваюсь. Я использую Jest и Puppeteer, чтобы проверить функцию, называемую DoSomhething . Файл, содержащий функцию (random.js), также импортирует файл CSS (index.css). Когда я запускаю свой тест, это заканчивает время. Я также увеличил тайм -аут Jest, но мой тест все еще не прошел. Если я удалю импорт CSS в random.js, тест проходит./* global doSomething */
jest.setTimeout(10000)
test('dummy test', async () => {
await page.goto('http://localhost:3333/test/unit/random.html')
await page.setViewport({ width: 1280, height: 800 })${message.text()}`))
await page.waitForFunction('window.doSomething')
await page.evaluate(function () {
doSomething()
})
expect(true).toBe(true)
})
< /code>
random.html (страница, на которую переходит мой тест): < /p>
Random Page
import doSomething from 'http://localhost:3333/test/unit/random.js'
window.doSomething = doSomething
< /code>
random.js (содержит тестируемую функцию): < /p>
import './index.css'
export default function doSomething () {
console.log('something')
}
< /code>
index.css:
.random-class {
color: #ffffff;
}
Вот команда Jest, которую я запускаю, которая выполняется через NPM -тест :
jest --projects test/unit --runInBand random.test.js
< /code>
output: < /p>
Jest dev-server output:
[Jest Dev server] Starting up http-server, serving ./
[Jest Dev server]
http-server version: 14.1.1
http-server settings:
CORS: disabled
Cache: 3600 seconds
Connection Timeout: 120 seconds
Directory Listings: visible
AutoIndex: visible
Serve GZIP Files: false
Serve Brotli Files: false
Default File Extension: none
Available on:
http://127.0.0.1:3333
[Jest Dev server] http://192.168.0.140:3333
http://10.212.134.200:3333
Hit CTRL-C to stop the server
[Jest Dev server]
[Jest Dev server] [Mon Jul 07 2025 09:55:19 GMT-0700 (Pacific Daylight Time)] "GET /test/unit/random.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"
(node:2714190) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
(Use `node --trace-deprecation ...` to show where the warning was created)
[Jest Dev server] [Mon Jul 07 2025 09:55:19 GMT-0700 (Pacific Daylight Time)] "GET /test/unit/random.js" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"
[Jest Dev server] [Mon Jul 07 2025 09:55:19 GMT-0700 (Pacific Daylight Time)] "GET /test/unit/index.css" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"
FAIL test/unit/random.test.js (10.409 s)
✕ dummy test (10002 ms)
● dummy test
thrown: "Exceeded timeout of 10000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
Я также попытался расстегнуть свой файл index.css, используя modulenamemapper в моем файле jest.config.cjs:
moduleNameMapper: {
'@/(.*)': '/../../src/$1',
'^d3$': '/../../node_modules/d3/dist/d3.min.js',
'\\.css$': '/../__mocks__/style-mock.js'
}
< /code>
где Style-mock.js содержит: < /p>
console.log('style-mock called')
module.exports = {}
< /code>
Эта макет, однако, кажется, игнорируется. Сообщение журнала консоли, которое я включил в style-mock.js, не напечатано при запуске моего теста.import doSomething from './random.js'
// REWRITE THE TEST TO NOT USE PUPPETEER. THIS PASSES
test('should something', () => {
doSomething()
expect(true).toBe(true)
})
< /code>
Есть идеи, в чем проблема? Кажется, что кукловодитель не обрабатывает импорт CSS в random.js или CSS Mock в jest.config.cjs. < /P>
Вот список моих зависимостей Dev: < /p>
"devDependencies": {
"@babel/preset-env": "^7.23.9",
"chokidar-cli": "^3.0.0",
"d3": "^7.6.1",
"eslint": "8.13.0",
"eslint-plugin-jest": "^27.6.3",
"http-server": "^14.1.1",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"jest-puppeteer": "^6.1.1",
"npm-run-all": "4.1.5",
"puppeteer": "^16.2.0",
"standard": "17.0.0",
"stylelint": "15.2.0",
"stylelint-config-standard": "30.0.1"
Подробнее здесь: [url]https://stackoverflow.com/questions/79693221/css-file-causing-jest-puppeteer-test-to-time-out[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия