![translation](https://cdn.durumis.com/common/trans.png)
यह एक AI अनुवादित पोस्ट है।
भाषा चुनें
durumis AI द्वारा संक्षेपित पाठ
- यूनिट टेस्टिंग के लिए बाहरी निर्भरताओं को हटाना महत्वपूर्ण है।
- Prisma ORM के Prisma क्लाइंट को jest-mock-extended पैकेज का उपयोग करके आसानी से मॉक किया जा सकता है।
- मॉकिंग के बाद, यूनिट टेस्ट लिखना आसान हो गया है।
एप्लिकेशन यूनिट टेस्ट को अलग-थलग करने की आवश्यकता होती है, इसलिए नेटवर्क I/O या डेटाबेस जैसी बाहरी निर्भरताएँ जो परीक्षण परिणामों को प्रभावित कर सकती हैं उन्हें हटा देना चाहिए।
इस बार, मैंने अपने खिलौना प्रोजेक्ट में Prisma ORM का उपयोग किया, और मैं Prisma Client को मॉक करने के बारे में एक सरल विधि खोजने और रिकॉर्ड करने के लिए इस लेख को लिख रहा हूँ।
jest-mock-extended पैकेज स्थापित करें
यह पैकेज Prisma के आधिकारिक दस्तावेज़ में अनुशंसित है, और इसे उपरोक्त कमांड का उपयोग करके स्थापित किया जा सकता है।
Prisma Client मॉक करें
describe('UserService', () => {
let service: UserService;
let prismaMock: DeepMockProxy;
beforeEach(async () => {
prismaMock = mockDeep();
const module: TestingModule = await Test.createTestingModule({
providers: [
UserService,
{
provide: PrismaService,
useValue: prismaMock,
},
],
}).compile();
service = module.get(UserService);
यूनिट टेस्ट उदाहरण कोड
describe('create', () => {
it('यदि उपयोगकर्ता सफलतापूर्वक बनाया जाता है, तो उपयोगकर्ता जानकारी वापस करनी चाहिए।', async () => {
// Arrange
const newUser = {
email: 'test@test.com',
password: 'test1234',
};
prismaMock.user.create.mockResolvedValue({
id: 1,
email: 'test@test.com',
password: 'test1234',
});
// Act
const result = await service.create(newUser);
// Assert
expect(result).toEqual({
id: 1,
email: 'test@test.com',
password: 'test1234',
});
});
मॉकिंग के बाद, प्रकार का भी समर्थन किया जाता है, इसलिए यूनिट टेस्ट लिखना बहुत आसान है।