小编pra*_*pes的帖子

JUnit运行器从java.io.Writer获取NullPointerException


我从Maven Surefire插件获得NullPointerException.它仅在使用DBUnit的测试中发生.Surefire报告文件为空.

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
org.apache.maven.surefire.booter.SurefireExecutionException: null; nested exception is java.lang.NullPointerException: null
java.lang.NullPointerException
    at java.io.Writer.write(Writer.java:140)
    at java.io.PrintWriter.newLine(PrintWriter.java:436)
    at java.io.PrintWriter.println(PrintWriter.java:585)
    at java.io.PrintWriter.println(PrintWriter.java:696)
    at org.apache.maven.surefire.report.AbstractFileReporter.testSetStarting(AbstractFileReporter.java:59)
    at org.apache.maven.surefire.report.ReporterManager.testSetStarting(ReporterManager.java:219)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
    at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
    at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
Run Code Online (Sandbox Code Playgroud)

当我尝试使用JUnit运行程序从NetBeans IDE运行相同的测试时,我得到相同的异常:

Exception in thread "main" java.lang.NullPointerException
        at java.io.Writer.write(Writer.java:140)
        at org.apache.tools.ant.util.DOMElementWriter.write(DOMElementWriter.java:212)
        at org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter.endTestSuite(XMLJUnitResultFormatter.java:171)
        at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.fireEndTestSuite(JUnitTestRunner.java:714)
        at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:547)
        at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031)
        at …
Run Code Online (Sandbox Code Playgroud)

java junit surefire

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

来自java.io.File方法的IOException

java.io.File中的createNewFile()方法是否会抛出IOException,但是来自同一个类的mkdir()却没有?

java file-io

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

Common Lisp中&rest参数和列表之间的区别

(defun highest (lat)
    (cond
        ((null lat) nil)
        ((null (cdr lat)) (car lat))
        (T (higher (car lat) (highest (cdr lat))))))

(defun higher (a1 a2)
    (cond
        ((> a1 a2) a1)
        (T a2)))
Run Code Online (Sandbox Code Playgroud)

此功能按预期工作:

> (highest '(3 5 1 2 3))    
3. Trace: (HIGHEST '(3 5 1 2 3))
4. Trace: (HIGHEST '(5 1 2 3))
5. Trace: (HIGHEST '(1 2 3))
6. Trace: (HIGHEST '(2 3))
7. Trace: (HIGHEST '(3))
7. Trace: HIGHEST ==> 3    
6. Trace: HIGHEST ==> 3
5. Trace: …
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp

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

Lisp中的关联列表 - 获取密钥的所有条目

在Common Lisp中,有没有办法从alist给定密钥的那个匹配中检索所有条目?

lisp common-lisp

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

Prolog - 如何做setof返回空列表而不是失败

我需要一个满足目标的有序对象列表.setof负责排序,但没有对象满足目标时失败.我想返回一个空列表,而不是像findall.

这有效,但有没有一种方法可以完成这一切没有削减?我正在使用SWI-Prolog.

setof(Object, Goal, List), !; List = [].
Run Code Online (Sandbox Code Playgroud)

prolog prolog-setof

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

迭代Ant中目录中的所有文件名

我需要遍历目录中的所有文件.但我只需要每个文件的名称,而不是绝对路径.这是我使用ant-contrib的尝试:

<target name="store">
  <for param="file">
    <path>
      <fileset dir="." includes="*.xqm"/>
    </path>
    <sequential>
      <basename file="@{file}" property="name" />
      <echo message="@{file}, ${name}"/>
    </sequential>
  </for>              
</target>
Run Code Online (Sandbox Code Playgroud)

问题是${name}表达式只被评估一次.还有另一种解决这个问题的方法吗?

ant ant-contrib

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

BigDecimal特定于语言环境的解析 - Wicket的BigDecimalConverter和java.math.BigDecimal之间的不一致

当使用字符串中的十进制分隔符解析数字时,Wicket的BigDecimalConverter的行为与BigDecimal的(String val)构造函数不同.

让我们尝试用逗号作为使用美国语言环境的小数分隔符来解析数字.(我正在使用Wicket 1.4.14 BTW.)


new BigDecimalConverter().convertToObject("1,3", Locale.US)
回来13,



Locale.setDefault(Locale.US);
new BigDecimal("1,3")  
Run Code Online (Sandbox Code Playgroud)

抛出NumberFormatException.


在这种情况下,为什么BigDecimalConverter的行为与BigDecimal不同?数字"1,3"对于美国语言环境没有意义.

java wicket bigdecimal

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

F#函数类型不匹配

我的测试功能出了什么问题?

let divisorOf(d, n) = n % d = 0

let notDivisible(d, n) = not (divisorOf(d, n))

let rec test(a, b, c) = function
  | (a, b, _) when (a > b) -> true
  | (a, b, c) -> notDivisible(a, c) && test(a + 1, b, c)
Run Code Online (Sandbox Code Playgroud)

我收到一个编译错误,第7行的表达式有函数类型,而不是bool.

(7,40): error FS0001: This expression was expected to have type
    bool    
but here has type
    'a * 'a * 'b -> bool    
Run Code Online (Sandbox Code Playgroud)

f# types

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