Tag: legacy

打破局部依赖关系以unit testingvoid方法

我正在使用mockito进行练习,但我对如何测试依赖于本地对象中方法调用的方法有点困惑。 请参阅以下示例: public class Worker { public void work() { Vodka vodka = new Vodka(); vodka.drink(); } } 这个工人不喜欢做自己的工作,而是喜欢喝酒。 但是我想补充一个测试来certificate他在工作时喝酒。 但是没有办法这样做,因为我必须validation调用方法工作时调用方法drink()。 我想你同意我的意见,这是不可能测试的,所以我需要在开始测试之前打破依赖。 这是我的第一个疑问,你认为打破这种依赖的最佳方法是什么? 如果我只是将伏特加对象的范围更改为全局,我认为不会很好(我不想将它暴露给类的其他部分)。 我想创建一个工厂,像这样: public class Worker { private VodkaFactory vodkaFactory = new VodkaFactory(); public void work() { Vodka vodka = vodkaFactory.getVodka(); vodka.drink(); } } 我不确定我是否确实打破了依赖关系,但我现在要做的是测试在执行work()时调用方法drink()。 我试了这个没有运气: @Test public void does_the_worker_drink_while_working () { VodkaFactory […]