如何用Java编写测试用例来测试输入是否为int?
我会这样做吗如何用Java编写测试用例来测试输入是否为int?,java,testcase,Java,Testcase,我会这样做吗 Assert.assertTrue(value = int n); 此外,如果我有一种方法,例如: public int get(){ return count; } 我应该为它编写什么样的测试用例?我是否会编写一个测试用例来测试返回值是否为整数?重新分级您的第一个问题-返回类型为int(因此您无需验证)。 关于第二个问题,如果它只是一个getter,就不需要为它编写测试。 通常,单元测试可以帮助您测试业务逻辑以及应用程序构建块的特定行为是否正常工作。 如果我们以计数为例
Assert.assertTrue(value = int n);
此外,如果我有一种方法,例如:
public int get(){
return count;
}
我应该为它编写什么样的测试用例?我是否会编写一个测试用例来测试返回值是否为整数?重新分级您的第一个问题-返回类型为int(因此您无需验证)。 关于第二个问题,如果它只是一个getter,就不需要为它编写测试。 通常,单元测试可以帮助您测试业务逻辑以及应用程序构建块的特定行为是否正常工作。 如果我们以计数为例,您可能希望构建一个测试用例,其中包含以特定方式影响计数的操作,然后对其预期值进行断言。
您可以在Java中查找有关单元测试的优秀教程。类用于测试目的:
public class Item {
private int number;
public Item(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
}
您的测试用例可以是:
import static org.junit.Assert.*;
public class Test {
@org.junit.Test
public void testCase1() {
Item item = new Item(1);
assertEquals(1, item.getNumber());
}
@org.junit.Test
public void testCase2() {
Item item = new Item(2);
assertEquals(2, item.getNumber());
}
}
您可以通过assertEquals方法验证您的业务逻辑
如何用Java编写测试用例来测试输入是否为int
假设您关心的是有人可以更改方法的输入类型
public final void testSet() {
try {
MyClass.class.getDeclaredMethod("set", new Class[] { Integer.TYPE });
} catch (NoSuchMethodException e) {
Assert.assertFalse(true);
} catch (SecurityException e) {
e.printStackTrace();
}
}
如果返回是整数,我会写一个测试用例吗
假设您关心的是有人可以更改方法的返回类型。顺便说一句,您在示例中返回int,因此我使用了Integer。键入,如果要检查Integer,请使用Integer。类
public final void testGet() {
try {
java.lang.reflect.Method m = MyClass.class.getDeclaredMethod("get", null);
Assert.assertTrue(m.getReturnType() == Integer.TYPE);
} catch (NoSuchMethodException | SecurityException e) {
e.printStackTrace();
}
}
如果返回类型为
int
,则它将始终返回int
,否则地狱将冻结。由于这对于第三方使用的SDK中的公共方法来说似乎是一个有效的问题,因此向上投票。。您不希望人们在更改输入和返回类型时不会失败测试用例,例如从int更改为Integer。