我最近开始使用Maven构建结构开发一个类似于以下内容的项目:
|- module-1/
| |- sub-module-1/
| |- sub-module-2/
| | ...
| |- web-client/
| | |- src/main/resources
| | | |- js/
| | | |- plugins/
| | |- pom.xml
| |- pom.xml
|- module-2/
| ...
|- module-n/
| |- sub-module-1/
| |- sub-module-2/
| | ...
| |- web-client/
| | |- src/main/resources
| | | |- js
| | |- karma.conf.js
| | |- pom.xml
| |- pom.xml
module-n 的组件构建在 module-1 之上(等等)。我目前正在尝试使用Karma来设置测试Web客户端(JavaScript)代码库的环境;但是我在这个过程中遇到了一些困难。
使用当前结构,我能够在我的浏览器中启动并查看module-n中的Web客户端,其中包括module-1(和其他)的所有依赖项。但是,当我使用以下配置文件运行karma start
时,它会因各种'There is no timestamp for /base/xyz.js'
和404错误而失败。
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine', 'requirejs'],
files: [
{pattern: 'src/main/resources/plugins/**/**', included: false},
{pattern: 'src/main/resources/js/main.js', included: false},
{pattern: 'src/main/resources/js/**/*.js', included: false},
{pattern: 'src/main/resources/tests/test-main.js', included: true},
{pattern: 'src/main/resources/tests/**/*spec.js', included: false}
],
exclude: [],
preprocessors: {},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome', 'PhantomJS'],
singleRun: false
});
};
此外,调试karma.files
表明没有加载任何模块1文件。
由于我对Karma和Maven构建系统都很陌生,我想知道有没有办法设置Karma从模块1加载依赖项?