Javascript 配置intern.json文件以映射到所有依赖项

Javascript 配置intern.json文件以映射到所有依赖项,javascript,dojo,cucumber,karma-runner,intern,Javascript,Dojo,Cucumber,Karma Runner,Intern,我在实习生/黄瓜测试中获取依赖文件时遇到了很多问题。这里有一些背景资料,我真的希望有人能帮忙!我正在从Karma/Intern/Dojo->Cucumber/Intern/Dojo进行更改,我真的想将“Karma.config”文件复制到“Intern.json” 基本上,我已经通过实习生和因果报应创建了现有的测试。karma配置文件预加载模式中的所有依赖项,并指定与所有文件相关的基本路径。我有很多依赖项,我一直试图在intern.json文件中手动映射它们,但是有很多依赖项,似乎有更简单的方法

我在实习生/黄瓜测试中获取依赖文件时遇到了很多问题。这里有一些背景资料,我真的希望有人能帮忙!我正在从Karma/Intern/Dojo->Cucumber/Intern/Dojo进行更改,我真的想将“Karma.config”文件复制到“Intern.json”

基本上,我已经通过实习生和因果报应创建了现有的测试。karma配置文件预加载模式中的所有依赖项,并指定与所有文件相关的基本路径。我有很多依赖项,我一直试图在intern.json文件中手动映射它们,但是有很多依赖项,似乎有更简单的方法?以下是我的两个文件的外观:

//configuration, for unit testing, this is my karma.conf.js


module.exports = function (config) {
config.set({

    // base path, that will be used to resolve files and exclude
    basePath: '../../../../../..',

    // frameworks to use
    frameworks: ['intern'],

    preprocessors: {
    },

    // list of files / patterns to load in the browser, etc
    files: [

        { pattern: 'FC/WorkFolder/Views/**/*.*', included: false, served: true, watched: false },

    // list of files to exclude
    exclude: [
    ],

    reporters: ['progress', 'html'],

    htmlReporter: {
        outputFile: 'Tools/Karma/HRunitTestReport.html'
    }
});
所以,主要思想是所有文件都是相对于指定的basePath的,所以当它从数百个文件中提取所有依赖项时,它总是得到解析并找到文件。我的intern.json文件如下所示:

{
"loader": {
"script": "dojo",
"options": {
  "packages": [

    {
      "name": "features",
      "location": "features"
    },
    {
      "name": "HR",
      "location": "../../../../../../WorkFolder/Scripts/Vews"
    },
    {
      "name": "dojo",
      "location": "node_modules/dojo"
    },
……等等。我基本上是手动映射它们,这样就不会在包含intern.json的同一文件夹中搜索它们。到目前为止它一直在工作。但是有太多的依赖项,我不想把它们全部映射到一起


关于basePath如何为实习生工作以及我如何模仿它的任何帮助都将非常有用

您想加载什么?我的意思是,如果您使用dojo加载程序来加载模块,则至少需要在包级别对其进行配置。如果您想将一组模块加载到浏览器的全局命名空间中,您可能需要执行其他操作。感谢您的响应!基本上,我正在测试一个包含多个表单的HR应用程序。这就是实际的表单构造函数、按钮等等。。在实际的表单文件中,Dojo define函数加载了更多的依赖项。。它基本上是无止境的。问题是它正在读取我在intern.json文件中指定的大多数文件。但是每个文件都依赖于其他几个文件,而这些文件又依赖于其他几个文件。使用karma,浏览器中加载了一系列模式。我想不知道如何在intern.json文件中实现这一点。。如果我可以将这个已经创建的karma.conf.js文件与我的新框架一起使用,而不是用intern.json重新创建它,那么一切都会很好。你对怎么做有什么想法吗?那个配置文件是因果报应的吗?嗯…我还是不太明白加载了什么。我的意思是,应用程序是使用AMD模块编写的吗?假设是这样的话,你只需要告诉加载程序(dojo)在哪里可以找到顶级包(比如“features”和“HR”和“dojo”),加载程序会在有人请求时负责查找和加载包中的所有单独文件。啊,从,听起来好像
文件
属性可以用来加载任意资产。如果需要使用脚本标记将JS文件静态加载到浏览器中,可以使用Intern的“插件”属性。查看一个测试模块通常需要加载的示例会有所帮助。