我遇到了你的问题,这就是我现在在所有测试用例中所做的 -
在您的测试用例中,如果您想检查 2 个字符串是否相等 -
您可能正在使用此代码 -
Assert.assertTrue(value1.equals(value2));
如果这些值不相等,则会生成 AssertionError。
相反,您可以像这样更改代码 -
String testCaseStatus = "";
if(value1.equals(value2)){
testCaseStatus = "success";
}
else{
testCaseStatus = "fail";
}
现在,您通过将 传递给您的代码将此结果存储在您的 Excel 工作表中,该testCaseStatus
代码向您使用 Apache POI 实现的 Excel 添加一行。如果你实现了一个 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()和 errors() 方法获取整个结果。
您可以从这里阅读更多信息。