java - 如何对 guice createinjector 方法进行单元测试
问题描述
我有以下主要方法调用,其中我使用静态 createInjector 方法初始化 guice 模块
public static void main(String[] args) {
Injector injector = Guice.createInjector(Stage.PRODUCTION, new MyServiceModule());
MyService component = injector.getInstance(MyService.class);
component.doSomething();
}
除了使用 power-mockito 之外,还有其他方法可以在代码下面进行单元测试吗?人们会像这样测试主要方法吗?
解决方案
我不会对这种代码进行单元测试,因为它更麻烦、更晦涩并且几乎没有什么好处。如果您真的想对此进行测试,只需main
从测试中调用静态方法,您就需要弄清楚如何确定它是否按预期工作(可能doSomething()
在与 main 相同的类中有一个方法委托给component
?) .
作为我的应用程序端到端测试的一部分,我会间接测试它,当我启动应用程序并用一些测试戳它以确保一切都很好地粘合在一起时。
请不要使用powermock。这是一个有用的工具,但不是那种可以随便使用的工具,而且绝对不是在现代项目中。
推荐阅读
- oracle - 如何在单个表上为 lob 列使用标量子查询?
- android-studio - 如何在 Recyclerview 中实现 CountDownTimer?
- sql - 如何在Ruby的继承父方法中获取子类?
- c# - 在工作服务而不是控制台应用程序中运行 Discord 机器人?
- python - Dockerfile:无法打开文件'./main.py':[Errno 2]没有这样的文件或目录
- c++ - 如何在vscode中使用微软C++扩展的调试器查看容器的内容(eq:std::vector)?
- python - 基于目录名使用importlib加载同名类:后果是什么?
- jenkins - 在 groovy 脚本中的詹金斯管道步骤中触发作业
- python - Flask:从请求中获取多个表单文件
- android - ModalDrawer 需要协程上下文来更改状态隐藏和显示 jetpack compose