测试异常处理

两种测试异常处理

需要提前引入junit依赖

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

第一种 

@Test(expected = IllegalArgumentException.class)

第二种

@Rule

被测试的类

public class FizzBuzz {
    /**
     * Write a progarm that prints the numbers from 1 to 100.
     * Multiples of Three print "Fizz" instead of the number.
     * Multiples of Five print "Buzz" instead of the number.
     * Multiples of Three To Five print "Buzz" instead of the number.
     */

    //constant
    public static String Three_Multiples = "Fizz";
    public static String Five_Multiples = "Buzz";
    public static String Three_And_Five_Multiples = "FizzBuzz";
    public static String No_1_TO_100 = "Invalid data";

    public static String getAnswerFor(int number){
        isOvernumber(number);
        return Judge_Three_And_Five_Multiples(number);
    }

    private static void isOvernumber(int number){
        if (Judge_No_1_To_100(number)){
            throw new IllegalArgumentException(No_1_TO_100);
        }
    }


    public static String Judge_Three_And_Five_Multiples(int number) {
        if (Judge_Three_To_Five_Multiples(number)) {
            return Three_And_Five_Multiples;
        }
        if (Judge_Three_Multiples(number)) {
            return Three_Multiples;
        }
        if (Judge_Five_Multiples(number)) {
            return Five_Multiples;
        }
        return String.valueOf(number);
    }

    //check if it is a multiple of three
    private static boolean Judge_Three_Multiples(int number) {
        return number % 3 == 0;
    }

    //check if it is a multiple of five
    private static boolean Judge_Five_Multiples(int number) {
        return number % 5 == 0;
    }

    //check if it is a multiple of three and five
    private static boolean Judge_Three_To_Five_Multiples(int number) {
        return Judge_Three_Multiples(number) && Judge_Five_Multiples(number);
    }

    //check if it is the numbers from 1 to 100

    private static boolean Judge_No_1_To_100(int number) {
        return number > 100 || number < 1;
    }
}

@Test(expected = IllegalArgumentException.class) 

import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

public class FizzBuzzTest {
    private Integer Test_Small_1_Number = -1;
    private Integer Test_1_Number = 1;
    private Integer Test_2_Number = 2;
    private Integer Test_3_Number = 3;
    private Integer Test_5_Number = 5;
    private Integer Test_15_Number = 15;
    private Integer Test_101_Number = 101;

    /**
     * 测试大于100的数字 101
     * 断言期望值与实际值是否相等
     */
    @Test(expected = IllegalArgumentException.class)
    public void FizzBuzz_Big_100() {
        //assert that the number is 101 and whether the expected value "Invalid data" is reached
       FizzBuzz.getAnswerFor(Test_Small_1_Number);
          }

FizzBuzz.getAnswerFor():测试的信息

由于是静态方法,所以直接 类名.方法名 调用 FizzBuzz中写好的getAnswerFor方法

 由于是静态方法,所以直接 类名.方法名 调用 FizzBuzz中写好的getAnswerFor方法

@Rule
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

public class FizzBuzzTest {
    private Integer Test_Small_1_Number = -1;
    private Integer Test_1_Number = 1;
    private Integer Test_2_Number = 2;
    private Integer Test_3_Number = 3;
    private Integer Test_5_Number = 5;
    private Integer Test_15_Number = 15;
    private Integer Test_101_Number = 101;


    @Rule
    public ExpectedException thrown = ExpectedException.none();
    /**
     * 测试循环小于于1的数字 -1
     * 断言期望值:Invalid data与实际值是否相等
     */
    @Test
    public void FizzBuzz_Small_1() {
        //assert that the number is -1 and whether the expected value "Invalid data" is reached
        thrown.expect(IllegalArgumentException.class);
        thrown.expectMessage(FizzBuzz.No_1_TO_100);
        FizzBuzz.getAnswerFor(Test_Small_1_Number);
    }

expect():表明测试会抛出一个异常

expectMessage():抛出异常信息

FizzBuzz.getAnswerFor():测试的信息

由于是静态方法,所以直接 类名.方法名 调用 FizzBuzz中写好的getAnswerFor方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
异常测试是Web测试的一种类型,它主要用于测试系统在异常情况下的表现和反应。在异常测试中,测试人员会故意制造一些不符合正常操作流程的情况,例如输入错误的数据、模拟网络中断或服务器故障等,以测试系统是否能够正确地处理这些异常情况并给出合适的提示或错误信息。异常测试的目的是确保系统在面对异常情况时能够保持稳定性和可靠性,避免因异常情况而导致系统崩溃或数据丢失。\[1\]在压力测试中,也可以通过增加并发用户数或发送大量请求来模拟异常情况,以测试系统的负载能力和性能表现。\[2\]需要注意的是,压力测试异常测试应该在Web系统发布以后,在实际的网络环境中进行,以获得准确可信的结果。\[3\] #### 引用[.reference_title] - *1* *2* [web测试,App测试,小程序测试区别](https://blog.csdn.net/HONGTester/article/details/118894824)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Web测试方法大全](https://blog.csdn.net/fanfangyu/article/details/125925756)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值