假设这是您的genTweet()
功能:
public String getTweet(List<Activity> activities) {
String tweetText = "Company Most Active ($Vol. in Millions)";
for (Activity activity : activities) {
tweetText = String.format("%s | %s $%.02f", tweetText, activity.getCompanyName(), activity.getMoney());
}
return tweetText;
}
现在,您可以控制genTweet()
函数使用的信息。在生产中,它将从数据库或任何其他存储引擎中填充。在开发模式下,来自本地数据库快照。
在测试期间,您通常将它们填充到您的setUp()
方法中。
// setUp()
List<Activity> activities = new List();
activities.add(new Activity("A", 1.10));
activities.add(new Activity("B", 2.209));
// Expected
String expected = "Company Most Active ($Vol. in Millions) | A $1.10 | B $2.21";
// Real
String real = genTweet(activities);
assertEquals(expected, real);
我要谈谈Mock Objects。但这是另一种直观的看待方式。