Salut à tous,

Je possède un projet en Vue.js sur lequel je souhaiterais mettre en place des tests unitaires des composants de vue.js.
Mon application marche très bien. Elle est dockerisé et utilise vue-cli pour fournir l’exécution du code en dev (à travers vue-cli-service serve)

Maintenant j'essaie de mettre Webpack en place sur le projet afin de fournir un environnement pour lancé des tests en local comme expliqué par vue.js ici :
Test unitaires vue.js

Lorsque je lance ma commande qui correspond au paramétrage suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mochapack --webpack-config webpack.config.js --require test/setup.js test/**/*.spec.js
Webpack génère des erreurs lors du chargement d'un composant vue qui charge d'autres composants comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
import AppButton from '../components/Button'
en mentionnant : "Module not found: '../components/Button' in '/Users/xxxx/Sites/xxxx/xxxxx/xxxxxx/src/page'"

Le fichier qui génère ces erreurs est effectivement dans le dossier page. Mais j'ai besoin de charger d'autres composants vue.js qui se trouve ailleurs dans l'arborescence que voici :


projet
---- dist
---- node_modules
---- public
---- src
---- ---- assets
---- ---- components
---- ---- ----- Button.vue
---- ---- mixins
---- ---- page
---- ---- ----- Home.vue
---- main.js
---- test
package.json
webpack.config.js


Ainsi j'essaie d'écrire un test pour le composant Home.vue qui cherche à charger le composant Button.vue qu'il ne trouve pas (uniquement en test car en dev tout fonctionne parfaitement).

Voici mon fichier de configuration webpack :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
const nodeExternals = require('webpack-node-externals')
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const path = require('path')
 
module.exports = {
    externals: [nodeExternals()],
    devtool: 'inline-cheap-module-source-map',
    entry: './main.js',
    context: path.resolve(__dirname+'/src', 'src'),
    resolve: {
        modules: [path.resolve(__dirname, 'src'), 'node_modules']
    },
    module: {
        rules: [
            {test: /\.vue$/, loader: 'vue-loader'},
            {test: /\.scss$/, use: [{loader: 'style-loader'}, {loader: 'css-loader'}, {loader: 'sass-loader'}]}
        ]
    },
    plugins: [
        new VueLoaderPlugin()
    ],
}
Auriez-vous des pistes afin de mieux comprendre pourquoi cela ne fonctionne pas svp ?

Merci pour votre éclairage.