#typescript #jestjs #ts-jest
#typescript #jestjs #ts-jest
Вопрос:
Это странно. Я просто возвращаюсь к TypeScript и пытаюсь выполнить некоторый TDD. Я ts-jest
настроил и запустил свои тесты, но я уже столкнулся с проблемой с чем-то безумно простым, и я не могу в этом разобраться.
organization.ts:
class Organization implements IOrganization {
id: Id;
name: string;
constructor(name: string) {
this.name = name;
}
}
export default Organization;
test.ts:
import Organization from "./organization";
import Simulation from "./simulation";
it('stores the user organization', () => {
let userOrganization = new Organization("does not matter");
}
VS Code не кричит на меня, но когда я пытаюсь запустить ts-jest
, я получаю error TS2554: Expected 0 arguments, but got 1
в своем конструкторе. Должно быть, я упускаю что-то очевидное.
Комментарии:
1. Я изо всех сил пытаюсь воссоздать эту проблему. Я создал минимальный пример на основе того, что вы показали. Если бы вы могли сравнить то, что у вас есть, с тем, что я пытался сделать, и вернуться к нам с дополнительной информацией, мы могли бы вам помочь.
2. Эй, я действительно ценю, что вы делаете целый проект для этого. Я потратил некоторое время на его просмотр, и после замены моего
tsconfig.json
на ваш, он работал отлично. Понятия не имею, что было не так с тем, который у меня был, но теперь все в порядке, большое спасибо! РЕДАКТИРОВАТЬ: D’oh. Я исключал `*test.ts* в своей конфигурации в соответствии с примером TypeScript, и это, должно быть, что-то путало. Я удалил это, и моя собственная конфигурация также работает, на случай, если кто-нибудь столкнется с подобной проблемой.3. Потрясающе, в таком случае не могли бы вы добавить ответ на свой собственный вопрос с подробностями о том, что устранило вашу проблему? Сохранение комментариев не гарантируется, но ответы есть 🙂
Ответ №1:
Оказывается, я исключал *test.ts* in my
tsconfig.json per the TypeScript example, which I guess meant that
, ts-jest` не собирал их. После удаления этого исключения все сработало. Спасибо Яннику Миусу за помощь в решении этой проблемы.