我无法让它工作。就像方法没有被嘲笑一样。
是否有替代的 groovy 测试框架可以更好地模拟静态 Java 方法?
2011 年 3 月 2 日更新:添加代码:
我实际上是在尝试模拟 Scala XML.loadXml(我正在尝试使用 Groovy 进行单元测试)类:
这是我的测试用例:
// ContentManagementGatewayTest.groovy
class ContentManagementGatewayTest extends GMockTestCase
{
void testGetFileList()
{
// Preparing mocks code will go here, see below
play {
GetFileGateway gateway = new GetFileGateway();
gateway.getData();
}
}
}
// GetFileGateway.scala
class GetFileGateway {
def getData()
{
// ...
val xmlData = XML.loadData("file1.txt");
}
}
我尝试使用 gmock 和 metaClass 进行测试:
// metaClass:
XML.metaClass.'static'.loadFile = {file ->
return "test"
}
// gmock:
def xmlMock = mock(XML)
xmlMock.static.loadFile().returns(stream.getText())