如何在java中编写相同场景的正面和负面测试用例?

时间:2013-01-03 06:44:09

标签: java unit-testing junit testcase sdlc

我想写两个测试用例,无论是积极情景还是消极情景。

我的示例代码是,

    /**
     * 
     */
    public void testgetAsnAccuracyInstanceType() throws Exception
    {
        String METHOD_NAME = "testgetAsnAccuracyInstanceType";
        log.entering(CLASS_NAME, METHOD_NAME);

         //Rating Element "1" ASN Accuracy
         populateForTestMethodValues("1");
         populateWeekOfList();
         List<WeeklyDeliveryInstanceTypeQO> asnAccuracyInstanceTypeList = weeklyDlvyInstancesDashboardReportForm.getAsnAccuracyInstanceType();
         assertTrue("testgetASNAccuracyRatingElement is Not Empty: ", asnAccuracyInstanceTypeList.size() > 0);
         log.exiting(CLASS_NAME, METHOD_NAME);
    }

3 个答案:

答案 0 :(得分:1)

这一行

assertTrue("testgetASNAccuracyRatingElement is Not Empty: ", 
           asnAccuracyInstanceTypeList.size() > 0);

严格等同于:

assertFalse("testgetASNAccuracyRatingElement is Not Empty: ", 
           asnAccuracyInstanceTypeList.isEmpty());

(如果这就是你要问的那样)

答案 1 :(得分:0)

输入/测试数据决定测试用例是针对正面还是负面情况。

所以只需要两种测试方法(一种用于阳性,另一种用于阴性),分别用正负数据调用。

答案 2 :(得分:0)

这个怎么样?

断言它有效:

// use input data you expect results for
assertFalse("testgetASNAccuracyRatingElement is empty", 
    asnAccuracyInstanceTypeList.isEmpty());

断言否定案例:

// use input data you don't expect results for
assertTrue("testgetASNAccuracyRatingElement is not empty", 
    asnAccuracyInstanceTypeList.isEmpty());