使用奇怪的调用参数进行JMock意外调用

时间:2016-01-18 21:12:28

标签: java generics jmock

假设:

A<T>
B extends A<String>

IMyInterface {
  List<T> myMethod(A<T>)
  List<String> myMethod(B)
}

运行调用

的测试时
foo = myMethod(new B());

我收到此JMock错误

unexpected invocation: IMyInterface.myMethod(<{}>)

有人知道(&lt; {}&gt;)是什么意思吗?

1 个答案:

答案 0 :(得分:0)

JMock使用在格式化错误消息时收到的每个对象的toString()实现,因此您看到的可能是toString() BB.toString()的实现结果类。 JMock添加了尖括号,所以我说"{}"正在返回npm ERR! Linux 4.1.13-boot2docker npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" npm ERR! node v5.5.0 npm ERR! npm v3.3.12 npm ERR! path /var/www/site/.npm/gulp/3.9.0/package.tgz.e87c24357cd6065ee71ce44c6f23673b npm ERR! code ETXTBSY npm ERR! errno -26 npm ERR! syscall rename npm ERR! ETXTBSY: text file is busy, rename '/var/www/site/.npm/gulp/3.9.0/package.tgz.e87c24357cd6065ee71ce44c6f23673b' -> '/var/www/site/.npm/gulp/3.9.0/package.tgz' npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! <https://github.com/npm/npm/issues> npm ERR! Linux 4.1.13-boot2docker npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" npm ERR! node v5.5.0 npm ERR! npm v3.3.12 npm ERR! path npm-debug.log.39d944b679d410e5293d6721cbc8287a npm ERR! code ETXTBSY npm ERR! errno -26 npm ERR! syscall rename npm ERR! ETXTBSY: text file is busy, rename 'npm-debug.log.39d944b679d410e5293d6721cbc8287a' -> 'npm-debug.log' npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! <https://github.com/npm/npm/issues> npm ERR! Please include the following file with any support request: npm ERR! /var/www/site/npm-debug.log