我想了解如何測試用戶的輸入(請注意我不是試圖做一個模擬試驗,但實際用戶輸入的測試)我怎樣才能
目前在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