Ir para o conteúdo principal

Configuração

[Tradução Beta Não Oficial]

Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →

A Marko Testing Library não depende de nenhum executor de testes específico. No entanto, ela depende do ambiente de teste. Este pacote funciona para testar tanto templates Marko do lado do servidor quanto do cliente, fornecendo uma implementação ligeiramente diferente otimizada para cada cenário. Isso é feito usando um browser shim, assim como no próprio Marko.

O browser shim é reconhecido por diversas ferramentas, incluindo todos os bundlers e alguns executores de testes.

Abaixo estão exemplos de configurações para testar componentes do servidor e do navegador usando executores de testes populares.

Jest

Para que o Jest entenda templates Marko, primeiro você deve instalar o preset @marko/jest. Isso permite importar seus templates Marko diretamente nos testes.

No Jest existe uma opção browser que instrui o Jest a resolver a versão browser shim de todos os módulos, conforme mencionado anteriormente.

Para testar componentes renderizados no cliente, ative tanto a opção browser quanto o preset - e pronto para começar!

jest.config.js
module.exports = {
preset: '@marko/jest/preset/browser',
}

Para testar componentes renderizados no servidor, podemos usar @marko/jest/preset/node como nosso preset do Jest.

jest.config.js
module.exports = {
preset: '@marko/jest/preset/node',
}

Uma configuração do Jest também pode ter múltiplos projects, permitindo criar configurações combinadas para testes no servidor e no cliente, como mostrado a seguir:

jest.config.js
module.exports = {
projects: [
{
displayName: 'server',
preset: '@marko/jest/preset/node',
testRegex: '/__tests__/[^.]+\\.server\\.js$',
},
{
displayName: 'browser',
preset: '@marko/jest/preset/browser',
testRegex: '/__tests__/[^.]+\\.browser\\.js$',
},
],
}

Mocha

O Mocha também é excelente para testar componentes Marko. Porém, ele não reconhece browser shims nativamente, o que significa que só funciona com componentes Marko do servidor sem configurações adicionais.

Para executar testes Marko do lado do servidor com mocha, basta rodar o seguinte comando:

mocha --require marko/node-require

Isso ativa o Marko require hook e permite carregar templates Marko do servidor diretamente nos testes.

Para testes no cliente com Mocha, normalmente você usará um bundler para construir seus testes (o que resolve corretamente os browser shims mencionados) e depois carregará esses testes em algum contexto de navegador.