问题描述
我这里有一个JUnit测试用例,用于测试一个简单的类.基本上,该类仅包含一个称为"sum"的方法,该方法返回两个数字的和.要测试这是否正确,我使用以下方法:Assert.assertEquals(2, my_object.sum(1, 2));
结果显示在Eclipse的选项卡中的故障跟踪"部分中.该消息显示:junit.framework.AssertionFailedError: expected:<2> but was:<3>
.是否有可能获得此消息并将其放入String变量?
I have a JUnit test case here to test a simple class. Basically the class contains just one method called 'sum' that returns the sum of two numbers. To test if this is right I use the following method: Assert.assertEquals(2, my_object.sum(1, 2));
The result displays in a tab on eclipse, in a section called "Failure Trace". The message says: junit.framework.AssertionFailedError: expected:<2> but was:<3>
. Is it possible to get this message and put it into a String variable?
推荐答案
来自Java文档assertEquals将
From the Java doc assertEquals will
条件失败时,您必须赶上AssertionError
.
You have to catch AssertionError
when your condition fails.
尝试以下代码:
@Test
public void myTest() throws Exception{
String assertionError = null;
try {
Assert.assertEquals(2,3);
}
catch (AssertionError ae) {
assertionError = ae.toString();
}
System.out.println(assertionError);
}
输出:
有关AssertionError的更多信息,请访问java doc: AssertionError 和声明
For more info about AssertionError visit java doc : AssertionError and Assert
这篇关于如何从JUnit assertEquals()方法获取输出并将其放入变量中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!