Файл CSS, вызывающий тест Jest/Puppeteer в Time OutHtml

Программисты Html
Ответить
Anonymous
 Файл CSS, вызывающий тест Jest/Puppeteer в Time Out

Сообщение 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"


Подробнее здесь: https://stackoverflow.com/questions/796 ... o-time-out
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»