2013-05-08 101 views
1

我是茉莉花的新手,请纠正我,如果我问一个错误的问题。茉莉花有更好的模块化

我的工作里面有很多的Java脚本代码的遗留系统。我想写一些相同的测试。起初,我考虑过使用buster,因为它处于测试阶段,我没有多少探索它。与此同时,我搜索到了茉莉花。在茉莉花写作测试很简单,maven插件使茉莉花与CI整合,我们也可以获得覆盖报告。所以我觉得要用茉莉花。

在我们目前的传统系统有几个JS,这需要是一个大量的重构。但要开始写一些测试,我需要一些帮助。让我讲述我面临

的问题,我们有很多有冲突的函数名的脚本和全局变量等。因此,在pom或jstestconf文件中指定jsSource非常麻烦,因为我需要排除少量文件,有时需要测试的脚本可能会有相互冲突的函数名称。另外一些脚本可能依赖于其他脚本等等。

是否有茉莉下面提到的情况下可以实现的一种方式。

Test1.js

  • 包含特定的库,但不包括共同一旦
  • 包括其中需要测试
  • 然后写测试

的Java脚本(Source1.js)源Test2.js

  • 包括SP ecific库,排除常见一旦
  • 包括JavaScript源(Source2.js),它需要进行测试 到测试
  • 然后写测试类似于JUnit的

的东西,我们说包括类需要进行测试。

做我用requirejs我能做到这一点知道的一些初始搜索。但我找不到任何具体的例子。

我会进一步处理之前需要你的意见。 也没有任何其他的测试框架,我使用具有与Maven & Eclipse和试验更好的模块很好的融合。

+0

你可能会考虑摆在你的问题关于Maven和eclipse集成分开?但是,一个快速搜索显示,有一些努力来整合Karma和eclipse:http://litebyte.net/blog/how-to-run-karmajs-from-eclipse/; https://github.com/karma-runner/maven-karma-plugin – ossek 2014-02-04 16:46:39

回答

0

我一直在使用Karma来运行茉莉花测试,并且您可以通过karma.conf.js files property指定Karma包含的文件。所以你可以为Test1.js和Test2.js设置两种不同的配置。例如(假设你有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', 
    ], 

.......