首页 > 解决方案 > 访问测试包中的静态变量

问题描述

我正在 NetBeans 中开发一个项目,我的项目是使用 JavaFX、Java 和 mysql 制作的。对于每个具有一些静态变量的显示页面(fxml 文件),我都有一个控制器类。当我尝试在源包中的任何位置访问这些静态变量时,我成功地获得了它们的当前值,但是当我尝试从测试包中这样做时,它返回一个空值或零值。我正在编写一些junit测试,我需要静态变量的那些当前值作为测试测试这些值。我该怎么办?任何建议都会有所帮助。具体来说,我有两个计算员工工资的显示页面——一个从用户那里获取输入,例如基本工资、其他津贴,它的控制器类将这些值存储在第二个页面控制器类中访问的静态变量中以计算净工资。变量 basicsalary 在 junit 测试类中显示为零值,同时在salary2 类(显示页面控制器)中访问时显示正确的值。我也希望在测试类中访问它的当前值。

标签: javamysqljavafxjunitstatic-variables

解决方案


您也可以在测试中复制静态值。这将使您的代码更安全(例如,如果有人在不希望的情况下修改了静态常量,则测试将失败)。

话虽如此,只要代码编译,您就应该可以访问测试类中的静态变量。值是否在另一个上下文中分配?(如系统变量、服务器启动...)


推荐阅读