我得到了你的问题,这是我在我所有的测试用例都尽现 -
在您的测试情况下,如果你想检查是否2个字符串相等 -
你可能会使用这个代码 -
Assert.assertTrue(value1.equals(value2));
如果这些值不相等,则会生成AssertionError。
相反,你可以改变你这样的代码 -
String testCaseStatus = "";
if(value1.equals(value2)){
testCaseStatus = "success";
}
else{
testCaseStatus = "fail";
}
现在这个结果在您的Excel工作表通过将testCaseStatus
你的代码,添加一行到您的Excel您已使用Apache POI实现存储。如果您实施try catch块,您还可以处理“错误”的条件。
例如,您可以捕获一些例外情况并将错误状态添加到您的Excel工作表中。
答案编辑部分 -
我只是想出了如何使用的TestResult类 - 这是一些示例代码我张贴 -
这就是所谓ExampleTest测试用例类 -
public class ExampleTest implements junit.framework.Test {
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void test(TestResult result) {
try{
Assert.assertEquals("hari", "");
}catch(AssertionFailedError e){
result.addFailure(this, e);
}catch(AssertionError e){
result.addError(this, e);
}
}
@Override
public int countTestCases() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void run(TestResult result) {
test(result);
}
}
我请从该上面的测试情况下代码 -
public class Test {
public static void main(String[] args) {
TestResult result = new TestResult();
TestSuite suite = new TestSuite();
suite.addTest(new ExampleTest());
suite.run(result);
System.out.println(result.errorCount());
}
}
则只需将它们添加到这套房调用许多测试用例,然后使用的TestResult类failures()和错误()方法得到的整个结果。
您可以从here了解更多。
您是否使用任何断言条件来验证您的测试?张贴一些代码,以便社区可以建议任何更改以帮助您。不要将整个代码仅发布相关代码。对于此问题,发布代码,通过该代码确定您的测试是否失败或通过。 – 2012-07-24 16:54:51
@Hari:嗯,他们是简单的Selenium JUnit代码,如driver.get(url);发送密钥等是的,我一般使用断言,但我认为它只会返回true/false。我在谈论的JUnit报告有3个值 - 成功/失败/错误。我想抓住所有三个为我的excel报告。有没有办法做到这一点? – 2012-07-25 05:03:47
就像这样 - http://www.junit.org/junit/javadoc/3.8.1/junit/framework/TestCase.html可以收集结果。但我无法正确使用它。 – 2012-07-25 05:15:45