java - 测试中未使用/已使用的常量

标签 java syntax compiler-warnings

我有一堆用于测试的常量。 它们看起来像这样:

//Canada 
private final static String CA_QUEBEC = "CA/Québec/Québec";
private final static String CA_VANCOUVER = "CA/British Columbia/Vancouver";

//USA
private final static String US_LOS_ANGELES = "US/California/Los Angeles";
private final static String US_NEW_YORK = "US/District of Columbia/New York";

//FRANCE
private final static String FR_PARIS = "FR/Paris/Paris";

等等。 我测试的目标是使用以下常量之一快速运行我的应用程序: 例如:

    String cityPath = FR_PARIS;

尽管如此,由于我仅使用其中一个,因此我必须用抑制警告注释包围每个常量(我使用的除外,见下文):

    //Canada 
    @SuppressWarnings("unused")
    private final static String CA_QUEBEC = "CA/Québec/Québec";
    @SuppressWarnings("unused")
    private final static String CA_VANCOUVER = "CA/British Columbia/Vancouver";

这样编译器就不会提示这些常量虽然已声明但未被使用。此外,当我选择这些常量之一时,我收到另一个警告,告诉我我使用了suppresswarning注释,但我的常量实际上正在被使用。

如果我想摆脱所有警告,我应该花时间放置和删除这些注释,这对我来说非常不舒服。

那么,在这种情况下如何获得干净、无警告的代码。我正在寻找一个简单而优雅的解决方案(即不是内省(introspection))。

感谢大家,Stack Over Flow 确实是一个很酷的地方。 :)

斯蒂芬

最佳答案

将它们设置为公开 protected ,您的警告就会消失。

您手动更改它们以运行测试似乎也有代码味道。对每个常数进行单独的测试不是更有意义吗?如果有很多通用代码,那么您可以有一个基类来扩展。

关于java - 测试中未使用/已使用的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6972817/

相关文章:

c# - 如何指示何时故意忽略返回值

haskell - 为什么 Haskell 这么大?

iphone - NS_ENUM 给出编译器关于前向引用的警告

java - 我可以让 Filter getFilter() 方法更改多个列表吗?

java - Spark sql 连接 mongo-spark 和 Spark-redshift 连接器的性能问题

mysql - 相同的列名,但数据来自其他表

c - 消息 "warning: implicit declaration of function"

java - 通过bash获取Java程序的输入输出

java - 有时连接 MySQL 时出现问题

xcode - 默认情况下,对于iOS4项目的XCode中已弃用的代码是否存在编译警告或错误?