Я не уверен, почему сообщение TypeScript не выдает никаких выходных данных для /my-app/src/constants.ts, это, похоже, указывает на то, что файл доступен для чтения, и машинопись пытается его проанализировать, и не распознает синтаксис.
Однако я предполагаю, что код теста выполняется в процессе браузера и не может получить доступ к файлам вне своей папки.
Если constant.ts
находится в cypress/fixtures
, это работает, поэтому одним простым способом является добавление сценария для копирования файла. Сценарий с именем «precypress» будет автоматически запускаться при вызове сценария «cypress».
Это примерно 90% - вы не получите перезагрузку горячего модуля при изменении constants.ts
.
пакет. json
"scripts": {
...
"precypress": "copyfiles ./src/constants.ts ./cypress/fixtures",
"cypress": "cypress open"
},
Работает также с функциями и ручками набора текста,
test
import { MY_CONSTANT, getMyConstant } from '../fixtures/src/constants';
describe('Cypress', () => {
it('is working', () => {
cy.visit('/')
alert(MY_CONSTANT);
alert(getMyConstant());
expect(true).to.equal(true)
})
})
constant.ts
export const MY_CONSTANT: Number = 10;
export const getMyConstant: Function = () => 20;