【发布时间】:2010-01-07 12:33:53
【问题描述】:
在运行 JUnit 测试时,有什么方法可以替换私有方法中的逻辑?
一点背景知识:我们有一些私有方法与 OSGi 容器中的包交互。这在单元测试中不可用,因此方法将失败。
我们已经查看了 JMockIt,但方法替换功能似乎要强制您替换类中相互调用的所有方法。
实现是这样的:
public final doSomething() {
firstThing();
secondThing();
}
private firstThing() {
// normal code
}
private secondThing() {
// code which is unavailable in a unit test
}
并且单元测试会指定 secondThing() 的新实现:
// replace secondThing() in impl with this secondThing()
private secondThing() {
// dummy code
}
// run tests
【问题讨论】:
标签: unit-testing junit osgi