我想了解如何测试用户的输入(请注意我不是试图做一个模拟试验,但实际用户输入的测试)我怎样才能
目前在Java单元测试用户输入您可能会在我的程序中看到我硬编码了测试用例的值,并且它正在通过所有测试,但是如何获取用户输入并进行测试。
有没有一种方法可以在我的构造函数中调用System.in,并在测试类中创建MyClass1实例时传递它?
请尽可能给我一些示例代码,以便我能更好地理解。
如果我有一个接口,这样
public interface IMyClass{
public int getvalue1();
public int getvalue2();
public int getvalue3();
}
然后接口实现这样
public class MyClass1 implements MyClass{
private int _value1 = 0;
private int _value2 = 0;
private int _value3 = 0;
public MyClass1(int number1, int number2, int number3)
{
_value1 = number1;
_value2 = number2;
_value3 = number3;
}
public void setLength1(int value1)
{
_value1 = value1;
}
public void setLength2(int length2)
{
_value2 = value2;
}
public void setLength3(int length3)
{
_value3 = value3;
}
public int getValue1()
{
return _value1;
}
public int getValue2()
{
return _value2;
}
public int getValue3()
{
return _value3;
}
}
最后一个测试类这样:
public class ClasTest extends TestCase {
public void testNumbers()
{
MyClass1 numbers= new MyClass1(1,2,3);
assertThat(numbers.getValue1(),is(not(numbers.getValue2())));
}
}
三江源,我很欣赏任何帮助。
MVC,MVP?任何设计模式? – 2013-04-17 17:47:02
我正在使用MVC。 – user1462617
从测试的角度来看,您在测试中所做的是足够的。唯一可能的是随机生成基于随机输入的输入和测试。 – Markus