我有非常简单的连接器连接到rest API:
class ApiConnector {
def url
ApiConnector(url) {
this.url = url
}
def get(enpointName) {
"$url/$endpointName".toUrl().text
}
}
我的问题是我希望通过一些模拟输出对get方法进行单元测试。我想用Spock做这件事但不知道我究竟能如何做到这一点。有什么帮助吗?
答案 0 :(得分:1)
普通元编程有什么问题?
URL.class.metaClass.getText = { 'test text' }
'test text' == "http://stackoverflow.com".toURL().text
答案 1 :(得分:0)
您可以手动在测试中模拟此方法。 Examle:
ApiConnector.metaClass.get = {endpoint -> "Return some mock data for this ${endpoint}"}
如果你调用方法获得你得到的模拟值。换句话说,你可以使用一些模拟库。