我建立Sonar了我的项目,这是一个混合的一个Groovy和Java.我能够为这些语言中的任何一种单独配置项目,但不能一起配置.有没有办法做到这一点?我试过这个
sonar.language = java,grvy
但没有工作
.msg文件和.eml文件有什么区别?
msg是否有能力,而eml不是,反之亦然?
我正在开发一个项目,我需要以编程方式调用TestNG(使用数据提供程序).一切都很好,除了在报告中,我们得到@Test方法的名称,这是一个处理许多情况的通用方法.我们想要的是在报告中获得一个有意义的名称.
我正在研究这个并发现了3种方法,但不幸的是,所有方法都失败了.
1)实施ITest
我一进入@Test方法就设置了我想要的名称(对于我试过的所有3种方式,这就是我设置名称的方式).这个名字是从getTestName()返回的.我观察到的是getTestName()在我的@Test之前和之后被调用.最初,它返回null(为了处理NullPointerException,我返回""而不是null),之后它返回正确的值.但我不认为这会在报告中反映出来
编辑:还尝试按照artdanil的建议从@ BeforeMethod设置名称
2和3
两者都基于上面第二个链接中给出的解决方案
通过覆盖XmlSuite中的setName,我得到了
Exception in thread "main" java.lang.AssertionError: l should not be null
at org.testng.ClassMethodMap.removeAndCheckIfLast(ClassMethodMap.java:58)
at org.testng.internal.TestMethodWorker.invokeAfterClassMethods(TestMethodWorker.java:208)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:114)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
...
Run Code Online (Sandbox Code Playgroud)
通过重写toString(),我在日志中看到这些(带有我的注释),但报告中没有更新
[2013-03-05 14:53:22,174] (Main.java:30) - calling execute
[2013-03-05 14:53:22,346] GenericFunctionTest.<init>(GenericFunctionTest.java:52) - inside constructor
[2013-03-05 14:53:22,372] GenericFunctionTest.toString(GenericFunctionTest.java:276) - returning **//this followed by 3 invocations before arriving at @Test method**
[2013-03-05 14:53:22,410] GenericFunctionTest.toString(GenericFunctionTest.java:276) - returning
[2013-03-05 14:53:22,416] GenericFunctionTest.toString(GenericFunctionTest.java:276) - returning
[2013-03-05 14:53:22,455] GenericFunctionTest.toString(GenericFunctionTest.java:276) - returning
[2013-03-05 …Run Code Online (Sandbox Code Playgroud) 我使用DBMS_PROFILER进行PL/SQL包的基本概要分析.我也使用它来使用以下查询获取代码覆盖率统计信息:
SELECT EXEC.unit_name unitname,ROUND (EXEC.cnt/total.cnt * 100, 1) Code_coverage FROM
(SELECT u.unit_name, COUNT(1) cnt FROM plsql_profiler_data d, plsql_profiler_units u WHERE u.unit_number = d.unit_number GROUP BY u.unit_name) total,
(SELECT u.unit_name, COUNT(1) cnt FROM plsql_profiler_data d, plsql_profiler_units u WHERE u.unit_number = d.unit_number AND d.total_occur > 0 GROUP BY u.unit_name) EXEC
WHERE EXEC.unit_name = total.unit_name
Run Code Online (Sandbox Code Playgroud)
我在每个分析器运行之前清除plsql_profiler_data,plsql_profiler_units,plsql_profiler_runs表,这样我每次都不需要知道运行ID.
这将为我提供有关分析期间所涵盖的代码百分比的Package明智信息.现在我试着看看这是否可以构建为一个正常的覆盖率报告,我可以知道哪一行代码被覆盖,哪一行不是(比如选择lineOfCode,来自...),这样我就可以用html构建一个报告格式化以指示是否覆盖了一条线.
我对Oracle函数和程序保存等方面的表结构并不太精通.(从博客上获得上述查询并略微修改以删除运行ID)
这可能吗?
如果是这样我怎么能实现这个目标?
我在PostgreSQL中得到这个异常:
org.postgresql.util.PSQLException: ERROR: could not access file "$libdir/plpgsql": No such file or directory
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1721)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1489)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:193)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236)
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
Run Code Online (Sandbox Code Playgroud)
我搜索了很多,大多数解决方案指向错误的安装.但这是我的测试数据库,它已经运行了很长时间没有问题.插入工作也正常.问题仅发生在选定查询上.
我正在学习使用JUnit.
我的一些测试表现为"错误",有些则表示"失败".这两者有什么区别?
编写自定义异常类的目的主要是什么,它的作用是相同的.例如,NullPointerException:
class NullPointerException extends RuntimeException {
private static final long serialVersionUID = 5162710183389028792L;
public NullPointerException() {
super();
}
public NullPointerException(String s) {
super(s);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我见过和创建的大多数异常类的基本模板.
我能想到的一个目的是处理这些异常.但是这不能基于异常消息吗?我们主要为每种异常类型编写单个处理代码.我知道这有"例外".
但还有什么呢?这不是重复自己只有班级名称改变的地方吗?
还有任何JDK异常类有一些代码吗?
我在weblogic中部署了一个ear,并将log4j2.xml logPath设置为
<Property name="logPath">some_path_1<Property>
Run Code Online (Sandbox Code Playgroud)
和记录器定义为
<Logger name="a.b.c.d" level="INFO" />
Run Code Online (Sandbox Code Playgroud)
在这个ear/lib中,有一个包含log4j2.xml的jar,logPath属性定义为
<Property name="logPath">some_path_2<Property>
Run Code Online (Sandbox Code Playgroud)
和一个包装结构非常相似的记录器
<Logger name="a.b.c" level="INFO" />
Run Code Online (Sandbox Code Playgroud)
log4j2.xml都配置为具有不同的日志文件名.但两者的日志都在路径some_path_2中,并且在该jar中定义了文件名
如何确保两个日志记录输出按照定义单独进行?
我的耳朵结构就像
ear
|--lib
|--|--abc.jar
|--|--|--log4j2.xml //the one thats getting loaded
|--xyz.war
|--|--WEB-INF
|--|--|--classes
|--|--|--|--log4j2.xml // the one I want
Run Code Online (Sandbox Code Playgroud)
Edit1:我在包含war的web.xml中添加了以下内容,但它没有帮助
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j2.xml</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
编辑2:我也试过这个,发现这是间歇性的
ear
|--lib
|--|--abc.jar
|--|--|--log4j2.xml //the one thats getting loaded
|--|--xyz.jar
|--|--|--log4j2.xml //the one I want.. works but not always.Does classloader loads the jars alphabetically?
|--xyz.war
|--|--WEB-INF
|--|--|--classes
|--|--|--|--log4j2.xml // the one I want
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个pdf和MS office文档格式的解析器来从文件中提取表格信息.当我看到Apache Tika时,正在考虑编写单独的实现.我可以从任何这些文件格式中提取全文.但我的要求是提取表格数据,我希望在键值格式中有2列.我检查了网络中可用的大部分内容,但找不到任何解决方案.有什么指针吗?
我有以下代码连接到邮件服务器的收件箱:
Store popStore = popSession.getStore("pop3");
popStore.connect(address, userName, password);
Folder inboxFolder = popStore.getFolder("Inbox");
Run Code Online (Sandbox Code Playgroud)
发布这个我检查新邮件.现在,当我连接到Gmail时,我也会收到来自已发送邮件的邮件,而实际上它应该只来自收件箱文件夹.雅虎这个工作正常.
任何想法可以在Gmail中导致此问题?
编辑:我也试过INBOX,结果是一样的
java ×7
apache-tika ×1
email ×1
eml ×1
exception ×1
gmail ×1
groovy ×1
javax.mail ×1
junit ×1
log4j ×1
log4j2 ×1
logging ×1
msg ×1
oop ×1
oracle ×1
outlook ×1
plsql ×1
postgresql ×1
profiler ×1
sonar-runner ×1
sonarqube ×1
testng ×1
unit-testing ×1
weblogic12c ×1