Получение ошибки при попытке проверить мой бэкэнд APIJavascript

Форум по Javascript
Ответить
Anonymous
 Получение ошибки при попытке проверить мой бэкэнд API

Сообщение Anonymous »

Я в настоящее время пишу бэкэнд -тесты как часть курса Fullstackopen. У меня есть 2 отдельных тестовых файла: один для тестирования списка (фиктивные данные), а другой для тестирования API. В то время как тесты списка работают, тестер API просто мгновенно бросает ошибку. Это журнал: < /p>

Код: Выделить всё

file:///C:/Users/Edwar/WebstormProjects/fullstackopen/Part4/bloglist/tests/blog_api.test.js:1
const { test, describe} = require('node:test')
^

ReferenceError: require is not defined in ES module scope, you can use import instead
at file:///C:/Users/Edwar/WebstormProjects/fullstackopen/Part4/bloglist/tests/blog_api.test.js:1:27
at ModuleJob.run (node:internal/modules/esm/module_job:274:25)
at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)

Node.js v22.16.0
✖ tests\blog_api.test.js (47.9562ms)
✔ dummy function (0.8653ms)
▶ total likes
✔ total likes (0.1556ms)
✔ total likes (0.3705ms)
▶ favorite blog
✔ most liked (0.4298ms)
✔ favorite blog (1.1711ms)
▶ most blogs
✔ best author (0.5545ms)
✔ most blogs (0.7417ms)
▶ most likes
✔ most liked author (0.3022ms)
✔ most likes (0.5679ms)
ℹ tests 6
ℹ suites 4
ℹ pass 5
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 83.8575

✖ failing tests:

test at tests\blog_api.test.js:1:1
✖ tests\blog_api.test.js (47.9562ms)
'test failed'
< /code>
[структура проекта] [1] < /p>
{
"name": "bloglist",
"version": "1.0.0",
"main": "app.js",
"scripts": {
"start": "cross-env NODE_ENV=production node index.js",
"dev": "cross-env NODE_ENV=development node --watch index.js",
"test": "cross-env NODE_ENV=test node --test"
},
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"cors": "^2.8.5",
"cross-env": "^10.0.0",
"dotenv": "^17.2.2",
"express": "^5.1.0",
"mongoose": "^8.18.0"
},
"devDependencies": {
"nodemon": "^3.1.10",
"supertest": "^7.1.4"
}
}
< /code>
test_helper.test.js
:

Код: Выделить всё

const {test, describe} = require('node:test')
const assert = require('node:assert')
const listHelper = require('../utils/list_helper')

test('dummy function', () => {
const blogs = []

const result = listHelper.dummy()
assert.strictEqual(result, 1)
})

describe('total likes', () => {

test('total likes', () => {
const likes = listHelper.totalLikes(listHelper.initialBlogs)

assert.strictEqual(likes, 12)
})

})

describe('favorite blog', () => {

test('most liked', () => {
const favorite = listHelper.favoriteBlog(listHelper.initialBlogs)

assert.deepStrictEqual(favorite, listHelper.initialBlogs[0])
})

})

describe('most blogs', () => {

test('best author', () => {
const topAuthor = listHelper.mostBlogs(listHelper.initialBlogs)

assert.deepStrictEqual(topAuthor, {author: "Michael Chan", blogs: 1})
})
})

describe('most likes', () => {

test('most liked author', () => {
const bestAuthor = listHelper.mostLikes(listHelper.initialBlogs)

assert.deepStrictEqual(bestAuthor, { author: 'Michael Chan', likes: 7 })
})
}
< /code>
blog_api.test.js
:

Код: Выделить всё

const { test, describe} = require('node:test')
const supertest = require('supertest')
const mongoose = require('mongoose')
const app = require('../app')

describe('Blog api', () => {
test('GET blogs', async () =>  {
const response = await supertest(app)
.get('/api/blogs')
.expect(200)
.expect('Content-Type', /application\/json/)

console.log(response.body)
})
})

await mongoose.connection.close()
< /code>
app.js
:

Код: Выделить всё

const express = require('express')
const mongoose = require('mongoose')
const {MONGODB_URI} = require("./utils/config");
const logger = require("./utils/logger");
const middleware = require("./utils/middleware");
const blogsRouter = require("./controllers/blogs");

const app = express();

logger.info("Connecting to the database...", MONGODB_URI)

mongoose.connect(MONGODB_URI)
.then(() => {
console.log("Connected to the database...")
}).catch((error) => {
logger.error("An error occurred with the database, ", error);
})

app.use(express.json());
app.use(express.static('dist'));
app.use(middleware.requestLogger);

app.use('/api/blogs', blogsRouter);

app.use(middleware.unknownEndpoint);
app.use(middleware.errorHandler);

module.exports = app;
< /code>
When I try to add beforeAll
, в конце концов Методы из узла: тест библиотека, они также никогда не определены, хотя у меня установлен Node V22.


Подробнее здесь: https://stackoverflow.com/questions/797 ... pi-backend
Ответить

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

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

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

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

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