我从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.io.File中的createNewFile()方法是否会抛出IOException,但是来自同一个类的mkdir()却没有?
(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) 在Common Lisp中,有没有办法从alist给定密钥的那个匹配中检索所有条目?
我需要一个满足目标的有序对象列表.setof负责排序,但没有对象满足目标时失败.我想返回一个空列表,而不是像findall.
这有效,但有没有一种方法可以完成这一切没有削减?我正在使用SWI-Prolog.
setof(Object, Goal, List), !; List = [].
Run Code Online (Sandbox Code Playgroud) 我需要遍历目录中的所有文件.但我只需要每个文件的名称,而不是绝对路径.这是我使用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}表达式只被评估一次.还有另一种解决这个问题的方法吗?
当使用字符串中的十进制分隔符解析数字时,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"对于美国语言环境没有意义.
我的测试功能出了什么问题?
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) java ×3
common-lisp ×2
lisp ×2
ant ×1
ant-contrib ×1
bigdecimal ×1
f# ×1
file-io ×1
junit ×1
prolog ×1
prolog-setof ×1
surefire ×1
types ×1
wicket ×1