在Spock中,我如何测试withTransaction中的代码

时间:2018-04-09 03:15:22

标签: java unit-testing groovy spock

在Spock中,我如何测试MyLookup.withTransaction块? 例如,在测试下面的代码时,如何确保then: 1 * MyLookup.findValue(item) 中的代码被执行?

class itemService {

    static String lookUpInfo(String item){  
        MyLookup.withTransaction {
            valInfo = MyLookup.findValue(item)
        }
        return valInfo
    }
}   

这是服务类:

@Override
public void onClick(View v) {
  Intent intent = new Intent(getActivity(), new Dashan1Activity());
  getActivity().startActivity(intent);
}

1 个答案:

答案 0 :(得分:0)

因此,您可以查看PowerMock框架,它可以让您测试静态方法,请参阅this发布的方法。

或者,您可以在自己的类中包装静态方法调用并模拟您的包装类以确保调用。

希望这会有所帮助。