我有问题编写一个测试用例针对下面的方法:EvenNum(double)
public class OddEven {
/**
* @param args
*/
public boolean evenNum(double num)
{
if(num%2 == 0)
{
System.out.print(true);
return true;
}
else
{
System.out.print(false);
return false;
}
}
这是我编写的测试用例,但我认为在这个测试用例中存在继承问题或逻辑问题。应该很简单,但我想不出来。以下是我编写的代码:
import static org.junit.Assert.*;
import org.junit.Test;
public class OddEvenTest {
@Test
public void testEvenNum() {
boolean ans = true;
boolean val;
double num= 6;
val = OddEven.EvenNum(num) // cant inherit the method dont know why???
assertEquals(ans,val);
}
}
oddEven()
方法在这里肯定可以是静态的,将其变为静态可能是一个明智的选择。但理想情况下,我们希望在重构之前先通过单元测试。因此,我针对所提供的OddEven
类编写了单元测试。一旦有了通过的单元测试,我们就可以进行重构。此外,在单元测试狂热者中存在一种思想流派,认为所有静态事物都是邪恶的。搜索一下相关主题,你就可以了解更多。另外,不要让任何人的声誉欺骗你。无论他们的声誉如何,任何人都可能在某些事情上犯错。 :) - Asaph