小编lwi*_*ono的帖子

SONAR - 使用Cobertura测量代码覆盖率

我正在使用声纳测量代码质量.我不知道的一件事是使用Cobertura测量代码覆盖率的步骤.

我按照http://cobertura.sourceforge.net/anttaskreference.html中的步骤操作,并能够生成xml文件.如何将这些xml文件导入SONAR?

在SONAR中使用Cobertura有更简单的方法吗?

我在与SONAR服务器不同的服务器上运行代码覆盖(Cobertura).两台服务器都在LINUX下运行.

谢谢您的帮助!

linux continuous-integration code-coverage sonarqube

9
推荐指数
1
解决办法
2万
查看次数

SONAR - 如何排除"sonar.test"下定义的包

我在JAVA有一个项目,我用声纳分析.我拥有的一些java包都在源文件夹下.我也有一些测试文件,我在不同的文件夹下.现在,在Sonar中,我以不同的结构组织我的项目,即对于项目"搜索",我只想包括"搜索"包.使用sonar.exclusion属性很容易实现这些排除.不过,我的问题是测试怎么样?我怎样才能排除一些包?因为在我的测试中,即使我的源和测试文件夹使用相同的结构,当我指定"sonar.exclusions"时,测试包也不会自动排除.

我的文件夹结构:

/src/com/domain/
   -- search/
   -- utils/
   -- pooling/
   -- category/

/test/src/com/domain/
   -- utils/
   -- pooling/
Run Code Online (Sandbox Code Playgroud)

声纳属性:

<property name="sonar.sources" value="${path}/src" />
<property name="sonar.tests" value="${path}/test/src" />
<property name="sonar.exclusions" value="com/domain/utils/**/*,com/domain/pooling/**/*,com/domain/category/**/*" />
Run Code Online (Sandbox Code Playgroud)

所以,我试图只包括"搜索"包.上面的代码工作方式使得SONAR只分析我的"搜索"包.可以在SONAR"组件"选项卡中看到此包.不幸的是,除了"搜索"组件,我还可以看到"util"和"pooling"组件.我做了一些测试,并确定这两个组件(utils和pooling)是"sonar.tests"属性的结果.只是注意,尽管"util"和"pooling"显示在组件中,但SONAR在它们下面显示零文件.所以回到我的问题,无论如何,我可以做到排除"util"和"汇集"在"组件"下显示?也许使用属性(即声纳测试排除)?

顺便说一句,我正在使用SONAR 2.11并在Red Hat linux下运行.我正在使用SONAR-TASK 1.2.

任何帮助都受到欢迎和赞赏!谢谢!

ant continuous-integration sonarqube

5
推荐指数
1
解决办法
3万
查看次数

Perl LibXML打印额外的"文本"标记

我试图使用LibXML从XML读取标签.我可以打印所有标签; 但是,由于某种原因,它还会打印"text"标签,这不是我的XML的一部分.任何人都可以向我解释是什么导致这种行为?有什么工作吗?如果下次我有一个带有"text"标签的XML标签,那么如何将该"text"标签与LibXML生成的额外"text"标签区分开来?

这是我的XML文件:

<?xml version="1.0"?>
<log>
<logentry
   revision="935">
<author>darwin</author>
<date>2011-06-28T01:00:18.997106Z</date>
<msg>reintegrate branch</msg>
</logentry>
<logentry
   revision="931">
<author>darwin</author>
<date>2011-06-21T22:15:01.881607Z</date>
<msg>reintegrate branch</msg>
</logentry>
</log>
Run Code Online (Sandbox Code Playgroud)

我使用以下代码阅读XML:

my $parser = XML::LibXML->new();
my $doc = $parser->parse_string($svnInfo);
my $root = $doc->getDocumentElement();
my @nodes=$root->childNodes();

foreach my $child(@nodes) {
        my $name = $child -> nodeName();
        my @atts = $child -> getAttributes();
        print "\n${name} (";

        print ")\n";
}
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

text ()

logentry ()

text ()

logentry ()

text ()
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

xml linux svn perl libxml2

3
推荐指数
1
解决办法
422
查看次数

Perl问题'需要'相同的文件

我在perl中有一个共享模块.主程序需要两个文件,第一个是共享文件(让我们称之为'X'),第二个是'包'文件.文件'X'也使用'require'包含在'package'文件中.当我编译这个程序时,它给我以下错误:

Undefined subroutine &main::trim called at testing.pl line 8.
Run Code Online (Sandbox Code Playgroud)

我的理解是perl找不到trim()模块.如果我不包含包文件,那么这将运行没有任何问题.

任何人都可以解释这个问题吗?

这些是我的代码:

主程序:testing.pl

#!/usr/bin/perl -w

use strict;
use postgres;

require "shared.pl";

trim("als");
Run Code Online (Sandbox Code Playgroud)

包文件:postgres.pm

#!/usr/bin/perl

package postgres;

use strict;
use DBI;

require "shared.pl";

1;
Run Code Online (Sandbox Code Playgroud)

共享文件:shared.pl

#!/usr/bin/perl

# =============
# shared module 
# =============

use strict;

sub trim($)
{
}

1;
Run Code Online (Sandbox Code Playgroud)

perl

3
推荐指数
1
解决办法
1792
查看次数