【问题标题】:How to write the positive and Negative test cases of same scenario in java?如何在java中编写相同场景的正面和负面测试用例?
【发布时间】:2012-12-17 12:55:35
【问题描述】:

我想写两个测试用例,无论是正面场景还是负面场景。

我的示例代码是,

    /**
     * 
     */
    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);
    }

【问题讨论】:

  • 在没有任何关于您的方法的目的信息的情况下,不清楚您希望我们如何为您提供帮助。
  • 有什么问题?你根本不知道如何使用 JUnit,还是有一些更具体的问题?
  • weeklyDlvyInstancesDashboardReportForm.getAsnAccuracyInstanceType() 这是我的方法。
  • @jon skeet 如何为这个测试用例编写否定测试用例而不是肯定测试用例
  • 再一次,在不知道该方法的目的的情况下,不可能说出阴性测试会是什么样子。它没有参数的事实意味着无效参数的正常否定测试不适用,但您可能需要考虑如果测试数据不存在会发生什么。

标签: java unit-testing junit testcase sdlc


【解决方案1】:

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

所以只需有两种测试方法(一种用于阳性,另一种用于阴性)并分别使用阳性和阴性数据进行调用。

【讨论】:

    【解决方案2】:

    这一行

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

    严格等价于:

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

    (如果你问的是这个)

    【讨论】:

      【解决方案3】:

      这个怎么样?

      断言它有效:

      // 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());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-05
        • 2016-08-26
        • 2013-10-21
        • 1970-01-01
        • 2017-11-10
        • 2021-02-01
        • 2019-02-08
        • 1970-01-01
        相关资源
        最近更新 更多