我是JUnit测试的初学者,我对测试有一些疑问 . 我的Java代码是:检查数字(整数)是否是其他数字(整数)的幂,并返回布尔值True / False . 只有一个名为isPower(int x,int y)的方法计算if(x%y)== 0,这是我的代码的简短表示 .
我想知道如果只返回true或false,我应该对这个Java代码进行哪种测试,我应该创建setup()和teardown()函数?
不需要 setup() 和 teardown() 因为没有什么可以设置的 . 通常在设置数据库,服务等环境时使用这些 . 在您的情况下,您可能有一个类具有一个(静态)方法 .
setup()
teardown()
通常的做法是测试边缘情况,即负数,0,最大数字,并让您的测试通过测试代码清楚地记录您期望发生的事情 . 让我们说你的测试不应该在任何输入上抛出异常,因为你正在划分而不是乘法 . 尝试 Integer.MIN_VALUE 和 Integer.MAX_VALUE 为每个和两个 .
Integer.MIN_VALUE
Integer.MAX_VALUE
一些单元测试框架可以生成随机数据作为测试的输入,以便测试所有边缘情况 .
一个小例子:
@Test public void test_nominator_nonzero_denominator_zero() { MyClass mathObject = new MyClass(); assertFalse("0 can't be a divisor of a non-zero number", mathObject.isPower(5, 0)); }
你的问题听起来像是一个找到除数或X因子的函数的描述 .
1 回答
不需要
setup()
和teardown()
因为没有什么可以设置的 . 通常在设置数据库,服务等环境时使用这些 . 在您的情况下,您可能有一个类具有一个(静态)方法 .通常的做法是测试边缘情况,即负数,0,最大数字,并让您的测试通过测试代码清楚地记录您期望发生的事情 . 让我们说你的测试不应该在任何输入上抛出异常,因为你正在划分而不是乘法 . 尝试
Integer.MIN_VALUE
和Integer.MAX_VALUE
为每个和两个 .一些单元测试框架可以生成随机数据作为测试的输入,以便测试所有边缘情况 .
一个小例子:
你的问题听起来像是一个找到除数或X因子的函数的描述 .