当前位置:  开发笔记 > 编程语言 > 正文

为什么Scalatest,Maven和cobertura的代码覆盖率为零?

如何解决《为什么Scalatest,Maven和cobertura的代码覆盖率为零?》经验,为你挑选了1个好方法。

我试图让Cobertura与Maven和Scala合作开展一个非常简单的示例项目.这是我的pom:

编辑:同时,我发现这个pom相当糟糕.如果您正在寻找更好的示例,请参阅接受答案中的示例.


4.0.0
sandbox
sandbox
1.0-SNAPSHOT

    2.10.4



    
        scala-tools.org
        Scala-Tools Maven2 Repository
        http://scala-tools.org/repo-releases
    



    
        scala-tools.org
        Scala-Tools Maven2 Repository
        http://scala-tools.org/repo-releases
    



    
        org.scala-lang
        scala-library
        ${scala.version}
    
    
    
        org.scalatest
        scalatest_2.10
        2.2.4
        test
    



    src/main/scala
    src/test/scala
    
        
            org.scala-tools
            maven-scala-plugin
            
                
                    
                        compile
                        testCompile
                    
                
            
            
                ${scala.version}
                
                    -target:jvm-1.5
                
            
        

        
        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.7
            
                true
            
        
        
        
            org.scalatest
            scalatest-maven-plugin
            1.0
            
                ${project.build.directory}/surefire-reports
                .
                WDF TestSuite.txt
            
            
                
                    test
                    
                        test
                    
                
            
        

         
        
            org.codehaus.mojo
            cobertura-maven-plugin
            2.7
            
                
                    package
                    
                        clean
                        cobertura
                    
                
            
        

    


    
        
            org.scala-tools
            maven-scala-plugin
            
                ${scala.version}
            
        

        
            org.codehaus.mojo
            cobertura-maven-plugin
            2.7
            
                
                    xml
                
            
        
    

我禁用了surefire,启用了Scalatest,测试确实被执行了.

我将Maven Cobertura插件添加到pom的构建和报告部分.我跑的时候

mvn clean install cobertura:cobertura -Dcobertura.report.format=xml

我确实得到了一份报道 - 报告说没有任何内容,报道是0%.

现在我尝试了各种各样的东西:我玩了执行部分,我将内容从构建移动到报告部分,反之亦然,我尝试了不同的Maven目标.这一切都是徒劳的 - 要么没有创建报告,要么报告0%的报道.

我甚至尝试过Scoverage!但结果相似.

所以我想我犯了一些非常基本的错误.任何人都可以指点我吗?



1> Kathi..:

经过大量的尝试,我找到了解决方案.问题似乎是构建部分中的maven-scala-plugin依赖项.但是由于上面显示的pom有很多问题,我在这里发布新版本,它有效.(至少对于非常小的示例项目.通过我真实的,更大的项目,我遇到了新的问题.)


4.0.0
sandbox
sandbox
1.0-SNAPSHOT

    2.10.4



    
        org.scala-lang
        scala-library
        ${scala.version}
    

    
    
        org.scalatest
        scalatest_2.10
        2.2.4
        test
    



    src/main/scala
    src/test/scala
    
        
            net.alchim31.maven
            scala-maven-plugin
            3.1.6
            
                
                    
                        compile
                        testCompile
                    
                
            
            
                
                    
                    -nobootcp
                
            
        

        
        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.18.1
            
                true
            
        

        
        
            org.scalatest
            scalatest-maven-plugin
            1.0
            
                
                    test
                    test
                    
                        test
                    
                
            
        

        
        
            org.scoverage
            scoverage-maven-plugin
            1.1.1
            
                ${scala.version}
                true
            
        

    



    
        
            org.scoverage
            scoverage-maven-plugin
            1.1.1
            
                ${scala.version}
                true
            
            
                
                    
                        report
                    
                
            
        
    

希望这有助于某人!

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有