工具类例如java.Lang.Math提供的都是static,不可实例化的方法。assertEquals()方法常用于单元测试中检查运行结果值是否与期望的测试值相等。 (1) 创建一个工具类TestUtils,实现以下的static方法: static void assertEquals(String, String, String)——检查第一个参数值(正确的期望值)是否等于第二个参数值(真实的输出值),如果两个String不相等,throw一个错误提示信息AssertionError对象,该信息以第三个参数为前缀,后面是期待值和真实的输出值,如:error:expecting expected but was actual。 static void assertEquals(int,int,String) ——和以上方法类似,不同的是检查int类型。 在Main里验证示例如下: assertEquals(1,2,“Err!”); //Err!:expecting 1(class java.Lang.Integer)but got 2(class java.Lang.Integer) assertEquals(“1”, “2”,“Err!”); //Err!:expecting 1(class java.Lang.String)but got 2(class java.Lang.String)
时间: 2023-05-27 09:04:03 浏览: 109
TestUtils工具类代码如下:
```
public class TestUtils {
/**
* 检查两个String类型是否相等,不相等则抛出AssertionError错误
* @param expected 期望值
* @param actual 真实输出值
* @param message 错误提示信息前缀
*/
public static void assertEquals(String expected, String actual, String message) {
if(!expected.equals(actual)) {
message += ": expecting " + expected.getClass().getName() + "[" + expected + "]" + " but was "
+ actual.getClass().getName() + "[" + actual + "]";
throw new AssertionError(message);
}
}
/**
* 检查两个int类型是否相等,不相等则抛出AssertionError错误
* @param expected 期望值
* @param actual 真实输出值
* @param message 错误提示信息前缀
*/
public static void assertEquals(int expected, int actual, String message) {
if(expected != actual) {
message += ": expecting " + expected + "(class java.lang.Integer) but was "
+ actual + "(class java.lang.Integer)";
throw new AssertionError(message);
}
}
}
```
在Main中验证示例如下:
```
public class Main {
public static void main(String[] args) {
//检查两个int类型是否相等
TestUtils.assertEquals(1, 2, "Err!");
//检查两个String类型是否相等
TestUtils.assertEquals("1", "2", "Err!");
}
}
```
输出结果如下:
```
Exception in thread "main" java.lang.AssertionError: Err!: expecting 1(class java.lang.Integer) but was 2(class java.lang.Integer)
at TestUtils.assertEquals(TestUtils.java:17)
at Main.main(Main.java:8)
```
```
Exception in thread "main" java.lang.AssertionError: Err!: expecting java.lang.String[1] but was java.lang.String[2]
at TestUtils.assertEquals(TestUtils.java:6)
at Main.main(Main.java:10)
```
阅读全文