我正在使用以下Scala类:
class names(lastName: String) {
def getFullName(lastName: String): String = get_private_name + lastName
def getPrivateName: String = "amit"
}
字符串
我需要测试getFullName方法,并想在该类中模拟getPrivateName函数。
在Python中,我通常会执行以下任务:
def test_getPrivateName() {
with mock.path(names.getPrivateName) as mocked_getPrivateName {
names_cls = names("my_last_name")
mocked_getPrivateName.return_value = "ido"
self.assertEqual("ido my_last_name", names_cls.getFullName())
}
}
型
我试图在Scala中用Mockito复制同样的行为,但我不确定如何继续。任何指导或帮助都将不胜感激。
1条答案
按热度按时间kx7yvsdv1#
模仿你正在测试的类的方法,虽然是可能的(如果你仍然想使用它,请查找“Mockito spy”),但不是一个好主意,而且代码气味,正如评论中所指出的那样。
通常有更好的方法。比如,在这种情况下,只需将
privateName
作为构造函数中的变量集,根本不需要模拟它:字符串