我有一个单例java属性类(RepositoryProperties.java),它从文本文件中读取以获取readFromSql方法返回的值:
public boolean readFromSql() {
String lPhase = getPilotProfileDatabaseTransitionPhase();
if (lPhase.equals("PHASE_ONE_SQL")) {
return true;
} else
return false;
}
然后,当我想通过我的存储库实现类添加记录时,我必须检查此值以了解要执行的代码块:
if (RepositoryProperties.getInstance().readFromSql()
{
..如果为true,则将数据写入SQL,否则跳过此块
现在我需要为我的存储库添加方法添加一个Jmock单元测试,以便readFromSql方法返回true(另一个测试将测试false值),而不会对文本文件产生依赖性。我担心jmock对我来说是全新的,我无法弄清楚如何模拟readFromSql返回的值。我没有setter方法。
我尝试为此添加一个期望,但这不是正确的方法(不要认为这属于预期)并且我的语法也是错误的:
myMockContext.checking(new Expectations() {
{
RepositoryProperties.getInstance().readFromSql();
will(returnValue(true));
非常感谢有关如何正确地做到这一点的一点指导。