如何让我的测试文件工作?

时间:2015-09-27 16:22:33

标签: java testing extend

我有3个类文件:Bin2Dec实现抛出异常,BinaryFormatException是异常文件,bin2DecTest是测试BinaryFormatException和bin2Dec的正确操作的测试文件。我不知道为什么,但我无法运行测试文件。有人请帮助我!!

测试文件:

import java.util.Scanner;

public class bin2DecTest {

    public static void main(String[] args) {
        //Convert the input string to their decimal equivalent.
        //Open scanner for input.
        Scanner input = new Scanner(System.in);
        //Declare variable s.
        String s;

        //Prompt user to enter binary string of 0s and 1s.
        System.out.print("Enter a binary string of 0s and 1s: ");
        //Save input to s variable.
        s = input.nextLine();
        //With the input, use try-catch blocks.
        //Print statement if input is valid with the conversion.
        try {
            System.out.println("The decimal value of the binary number " + "'" + s + "'" + " is " + conversion(s));
            //Catch the exception if input is invalid.
        } catch (BinaryFormatException e) {
            //If invalid, print the error message from BinaryFormatException.
            System.out.println(e.getMessage());
        }
    }
}

Bin2Dec FILE:

    //Prepare scanner from utility for input.
    import java.util.Scanner;
    public class Bin2Dec {
                  //Declare exception.

          public static int conversion(String parameter) throws BinaryFormatException {
            int digit = 0;

          for (int i = 0; i < parameter.length(); i++) {
              char wrong_number = parameter.charAt(i);


              if (wrong_number != '1' && wrong_number != '0') { 
                throw new BinaryFormatException("");
              }

              //Make an else statement and throw an exception.

              else 
                digit = digit * 2 + parameter.charAt(i) - '0';
            }
            return digit;
          } 
        }

BinaryFormatException FILE:

        //Define a custom exception called BinaryFormatException.
public class BinaryFormatException extends Exception {
    //Declare message.

    private String message;

    public BinaryFormatException(String msg) {
        this.message = msg;
    }
    //Return this message for invalid input to Bin2Dec class.

    public String getMessage() {
        return "Error: This is not a binary number";
    }
}

1 个答案:

答案 0 :(得分:1)

代码无法编译,因为您使用的是conversion,就好像它是bin2DecTest的方法一样。您需要使用conversion作为Bin2Dec的静态方法。 E.g。

Bin2Dec.conversion(s);

另外,请查看JunitTestNG等正式测试框架。与滚动您自己的简单测试框架相比,它们提供了一些优势,包括轻松测试抛出Exception的代码。