Я пробовал это некоторое время, но безуспешно.
У меня есть приложение expo, и я использую cypress для тестирования некоторых вариантов использования, используя веб-версию приложения (созданную expo).
Тем не менее, я хотел бы также создать некоторое покрытие кода. Я прочитал официальную документацию , которая рекомендует babel-plugin-istanbul сделать так, но, похоже, это не работает с expo.
Я не уверен, почему это не сработает.
Я удалил файлы, ранее указанные здесь, так как они не важны.
Спасибо за замечательную документацию предоставленную героем без плаща, я понял, что мои настройки были неправильными.
Все, что мне нужно было сделать, это:
babel-plugin-istanbul
babel.config.js
module.exports = {
presets: ['babel-preset-expo'],
plugins: [
'istanbul',
[
'module-resolver',
{
root: ['.'],
extensions: [
'.js',
],
alias: {
'@': './',
},
},
],
],
};
cypress/support/index.js
import '@cypress/code-coverage/support';
cypress/plugins/index.js
module.exports = (on, config) => {
require('@cypress/code-coverage/task')(on, config);
// add other tasks to be registered here
// IMPORTANT to return the config object
// with the any changed environment variables
return config;
};
и вуаля!