如何在单次运行中使用karma test-runner测试两个具有相同名称的不同类?

时间:2014-10-08 21:21:46

标签: javascript unit-testing tdd karma-runner karma-jasmine

我的问题在于下一个问题。我有一个JavaScript应用程序。它利用所谓的模块模式。那就是我有多个js文件(每个类一个),在构建过程中,所有这些文件都放在一个文件中并包装在IIFE中。所以在我的业力配置文件中我指定了

files: ['src/**/*.js', 'tests/**/*.js']

问题出现了,因为我需要在这个应用程序中使用几个“模块”。以下是代码树结构的示例:

    ├── karma_unit.conf.js
├── src
│   ├── Bar
│   │   └── module.js
│   └── Foo
│       └── module.js
└── tests
    └── unit
        ├── Bar
        │   └── test.js
        └── Foo
            └── test.js

所以我同时有两个Module课程。这不是“内置”代码的问题。但是对于单元测试来说这就是问题所在,因为这就是名称冲突。

我知道我可以为每个这样的模块配置不同的配置文件并多次运行测试(每个配置文件一次),但这是非常不受欢迎的。

另外我认为文件是按照包含顺序执行的,所以我试着在配置文件中写入:

files: [
    'src/Foo/*.js',
    'tests/Foo/*.js',
    'src/Bar/*.js',
    'tests/Bar/*.js',
]

但这没有帮助。

所以我的问题是:当我被迫在一个项目中拥有多个具有相同名称的javascript类而没有多次运行测试或重命名这些类时,我怎么能避免这种情况呢?

我提前感谢。

1 个答案:

答案 0 :(得分:1)

这是详细说明查询解决方案的参考链接:

http://karma-runner.github.io/0.8/plus/RequireJS.html