1

我是茉莉花的新手,如果我问错了问题,请纠正我。

我正在开发一个有很多 java 脚本代码的遗留系统。我想为此编写一些测试。最初我想使用 buster,因为它处于测试阶段,我没有对此进行太多探索。与此同时,我在搜索时遇到了茉莉花。在 jasmine 中编写测试很简单,maven 插件使 jasmine 可以与 CI 集成,我们也可以得到覆盖率报告。所以我觉得用茉莉花。

在我们目前的遗留系统中有几个js,需要大量的重构。但是要开始编写一些测试。我需要一些帮助。让我叙述一下我面临的问题

我们有很多脚本有冲突的函数名和全局变量等等。所以在 pom 或 jstestconf 文件中指定 jsSource 很麻烦,因为我需要排除几个文件,有时需要测试的脚本可能有一个冲突的函数名。还有一些脚本可能依赖于其他脚本等等。

茉莉花中有没有办法可以实现下面提到的场景。

测试1.js

  • 包含特定库,不包含常用的一次
  • 包含需要测试的java script(Source1.js)源码
  • 然后编写测试

Test2.js

  • 包含特定库,不包含常用的一次
  • 包括需要测试的javascript源(Source2.js)来测试
  • 然后编写测试

类似于我们所说的junit的东西包括需要测试的类。

通过使用 requirejs 进行一些初步搜索,我可以做到这一点。但我找不到任何具体的例子。

在继续之前,我需要您的意见。还有我使用的任何其他测试框架与 maven 和 eclipse 具有良好的集成以及更好的测试模块化。

4

1 回答 1

0

我一直在使用Karma运行 jasmine 测试,您可以通过 karma.conf.js files 属性指定 Karma 包含的文件。因此,您可以为 Test1.js 和 Test2.js 设置 2 种不同的配置。例如(假设您有node_modules并且您的其他文件位于my-application-root

对于配置 1:

module.exports = function(config){
  config.set({
  basePath : './',

  //files to load in the browser
  files : [
    'my-application-root/specific-library-1.js',
    'my-application-root/Source1.js',
    'my-application-root/test/Test1.js',
    'my-application-root/node_modules/**/*.js'
  ],

  exclude : [
    'my-application-root/common-lib.js',
    'my-application-root/specific-library-2.js',
  ],

.......

对于配置 2:

module.exports = function(config){
  config.set({
  basePath : './',

  //files to load in the browser
  files : [
    'my-application-root/specific-library-2.js',
    'my-application-root/Source2.js',
    'my-application-root/test/Test2.js',
    'my-application-root/node_modules/**/*.js'
  ],

  exclude : [
    'my-application-root/common-lib.js',
    'my-application-root/specific-library-1.js',
  ],

.......
于 2014-02-04T16:40:55.103 回答