3
respostas

Quando executo os testes apresenta erro no cypress

Depois que eu adicionei o "context" apresenta erro conforme a imagem. Detalhe que eu retirei o context e funcionou normalmente. Segue o erro:

Error: Webpack Compilation Error
Module parse failed: Unexpected token (1:7)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

export type Platform = 'browser' | 'node' | 'neutral'
| export type Format = 'iife' | 'cjs' | 'esm'
| export type Loader = 'base64' | 'binary' | 'copy' | 'css' | 'dataurl' | 'default' | 'empty' | 'file' | 'js' | 'json' | 'jsx' | 'local-css' | 'text' | 'ts' | 'tsx'
at Watching.handle [as handler] (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules@packages\server\node_modules@cypress\webpack-preprocessor\dist\index.js:296:23)
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Watching.js:317:9
at Hook.eval [as callAsync] (eval at create (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\tapable\lib\Hook.js:18:14)
at Watching._done (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Watching.js:314:28)
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Watching.js:229:21
at Compiler.emitRecords (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Compiler.js:1046:4)
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Watching.js:205:22
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Compiler.js:1009:14
at Hook.eval [as callAsync] (eval at create (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\tapable\lib\Hook.js:18:14)
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Compiler.js:1006:27
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\neo-async\async.js:2818:7
at done (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\neo-async\async.js:3522:9)
at alreadyWritten (C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Compiler.js:811:8)
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\webpack\lib\Compiler.js:922:17
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules\graceful-fs\graceful-fs.js:123:16
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules@packages\server\node_modules\graceful-fs\graceful-fs.js:123:16
at C:\Users\leandro.marques\AppData\Local\Cypress\Cache\15.2.0\Cypress\resources\app\node_modules@packages\server\node_modules\graceful-fs\graceful-fs.js:123:16
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3)

.Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Tinha uma váriavel declado no inicio do código, comentei e não apresentou mais o problema

Tinha uma váriavel declado no inicio do código, comentei e não apresentou mais o problema

Olá, Leandro! Como vai?

Fico feliz que você conseguiu contornar o problema! Mas mesmo já tendo solucionado, deixarei algumas sugestões caso queira entender melhor o que pode ter acontecido.

Pelo erro, parece que o Webpack não está configurado para lidar com tipos TypeScript, como export type. Isso geralmente acontece quando o Cypress não está configurado para processar arquivos TypeScript corretamente.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique a extensão do arquivo: Certifique-se de que o arquivo de teste tenha a extensão .ts se você estiver usando TypeScript.

  2. Configure o Webpack: Você pode precisar adicionar um loader para TypeScript no seu arquivo de configuração do Webpack. Um exemplo básico de configuração seria:

    module.exports = {
      module: {
        rules: [
          {
            test: /\.ts$/,
            exclude: /node_modules/,
            use: {
              loader: 'ts-loader',
            },
          },
        ],
      },
      resolve: {
        extensions: ['.ts', '.js'],
      },
    };
    
  3. Verifique o arquivo tsconfig.json: Se você estiver usando TypeScript, verifique se o arquivo tsconfig.json está corretamente configurado. Um exemplo básico seria:

    {
      "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "strict": true,
        "esModuleInterop": true,
        "skipLibCheck": true,
        "forceConsistentCasingInFileNames": true
      },
      "include": ["**/*.ts"]
    }
    
  4. Instale as dependências necessárias: Certifique-se de que você tenha instalado o ts-loader e o typescript no seu projeto:

    npm install ts-loader typescript --save-dev
    
  5. Verifique a configuração do Cypress: Certifique-se de que o Cypress está configurado para usar o Webpack. Isso pode ser feito no arquivo cypress/plugins/index.js:

    const webpack = require('@cypress/webpack-preprocessor');
    
    module.exports = (on) => {
      const options = {
        webpackOptions: require('../../webpack.config'),
        watchOptions: {},
      };
    
      on('file:preprocessor', webpack(options));
    };
    

Se após essas verificações o problema persistir, pode ser útil revisar a documentação do Cypress sobre integração com TypeScript e Webpack para garantir que todas as configurações estejam corretas.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!