单位测试私人课程



我们如何单元测试私人类?

例如,带有private class @autowired的示例我想验证是否呼叫良好的预选赛

public class MyClass {
    @Autowired
    IHelloService helloService;
    public void sayHello(List<Person> list) {
        for(Person person : list) {
            helloService.sayHello(person);
        }
    }
}

@Primary
@Component
public class SayHelloService implements ISayHello {
    @Autowired
    @Qualifier("french")
    ISayHello french;
    @Autowired
    @Qualifier("english")
    ISayHello english;
    @Override
    public void sayHello(Person person) {
        switch (person.getLanguage) {
            case "EN":
                english.sayHello(Person person);
            break;
            case "FR":
                french.sayHello(Person person);
            break;
            default:
            break;
        }
    }
}

@Qualifier("french")
Component
class SayHelloFrenchService implements ISayHello {
    public void sayHello(Person person) {
        sysout("Bonjour " + person.getName());
    }
}
@Qualifier("english")
Component
class SayHelloFrenchService implements ISayHello {
    public void sayHello(Person person) {
        sysout("Hello " + person.getName());
    }
}

编辑:我未能让我的例子:两次预选赛类是私人

如果我@mock界面,则可以工作。

我以为我必须@mock实施...

,但我无法编写实施私人类的测试。

相关内容

  • 没有找到相关文章

最新更新