java - 访问测试包中的静态变量
问题描述
我正在 NetBeans 中开发一个项目,我的项目是使用 JavaFX、Java 和 mysql 制作的。对于每个具有一些静态变量的显示页面(fxml 文件),我都有一个控制器类。当我尝试在源包中的任何位置访问这些静态变量时,我成功地获得了它们的当前值,但是当我尝试从测试包中这样做时,它返回一个空值或零值。我正在编写一些junit测试,我需要静态变量的那些当前值作为测试测试这些值。我该怎么办?任何建议都会有所帮助。具体来说,我有两个计算员工工资的显示页面——一个从用户那里获取输入,例如基本工资、其他津贴,它的控制器类将这些值存储在第二个页面控制器类中访问的静态变量中以计算净工资。变量 basicsalary 在 junit 测试类中显示为零值,同时在salary2 类(显示页面控制器)中访问时显示正确的值。我也希望在测试类中访问它的当前值。
解决方案
您也可以在测试中复制静态值。这将使您的代码更安全(例如,如果有人在不希望的情况下修改了静态常量,则测试将失败)。
话虽如此,只要代码编译,您就应该可以访问测试类中的静态变量。值是否在另一个上下文中分配?(如系统变量、服务器启动...)
推荐阅读
- java - 查找字符串中所有单词“google”、“gooogle”、...中字母数量“o”的乘积
- makefile - 我们什么时候使用 := 以及什么时候在 GNU makefile 中使用 =?
- helper - 使用 near-api-js 的主网的近协议帮助程序 url
- flutter - 使用颤振插件切断按钮的着色器
- python-3.x - 将人员对象添加到另一个对象,除非它们相同
- c - ***检测到堆栈粉碎***:即使我输入的字符少得多,也会终止
- amazon-web-services - 如何将通用策略附加到 1 个以上的存储桶,同时让存储桶动态分配?
- ionic-framework - ionic 5 Ionic/Angular 无法在 android 模拟器中发出 http 请求(网络:ERR_CONNECTION_REFUSED)
- html - 图片超过固有图像大小
- javascript - 在Javascript中,当我分隔字符串时,我应该如何在拆分后为每个字符串运行该方法?