TypeScript kullanarak Bun:test ile Hata Fırlatılmasını Beklemek - ts(2348)
bunjs, typescript, programming, except, async, throw, test
Basit Örnek
() =>
kullanımında dikkatli olun
// someFunction.ts
export function someFunction(shouldThrow: boolean): void {
if (shouldThrow) {
throw new Error("Ben bir hata'yım!")
}
}
// someFunction.test.ts
import { someFunction } from "./someFunction"
test("bir hata fırlatmalı", () => {
expect(() => someFunction(true)).toThrow("Ben bir hata'yım!")
})
test("bir hata fırlatmamalı", () => {
expect(() => someFunction(false)).not.toThrow()
})
Async Örnek
Promise
içinrejects
kullanın
it("NotFoundError döndürmeli", () => {
expect(getUserData("olmayanUserId"))
.rejects.toBeInstanceOf(NotFoundError)
})
Özel Hata Türleri ile İleri Kullanım
Uyarıyı önlemek için
CustomError
yerinenew CustomError()
kullanın() =>
kullanımında dikkatli olun
// CustomError.ts
export class CustomError extends Error {
constructor(message: string) {
super(message)
Object.setPrototypeOf(this, CustomError.prototype)
}
}
// someFunction.ts
import { CustomError } from "./CustomError"
export function someFunction(shouldThrow: boolean): void {
if (shouldThrow) {
throw new CustomError("Ben özel bir hatayım!")
}
}
// someFunction.test.ts
import { someFunction } from "./someFunction"
import { CustomError } from "./CustomError"
test("özel bir hata fırlatmalı", () => {
expect(() => someFunction(true)).toThrow(new CustomError())
// Uyarıyı önlemek için `new CustomError()` yerine `CustomError` kullanın
// `() =>` kullanımında dikkatli olun
})
Value of type "typeof X' is not callable. Did you mean to include 'new'? ts(2348)
Gösterilen hatayı önlemek için
new AlreadyAdjusted()
kullanınBu hata calisma sirasinda sorun teskil etmez
export class AlreadyAdjusted extends Error {
constructor() {
super("Zaten ayarlandı")
}
}


PreviousTypeScript ile decorator tanimlayarak methodlari ve siniflari loglamakNextBunjs ile cli uzerinden input almak
Last updated
Was this helpful?