未使用/使用的常量测试

时间:2011-08-07 12:31:30

标签: 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";

因此,尽管声明了这些常量,但编译器并没有抱怨这些常量没有被使用。此外,当我选择其中一个常数时,我又得到另一个警告告诉我,我使用了抑制警告注释,但我的常数实际上已经被使用了。

如果我想摆脱所有警告,我应该花时间去删除那些注释,这对我的想法来说是不可思议的。

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

感谢所有人,Stack Over Flow真的很酷。 :)

斯特凡

2 个答案:

答案 0 :(得分:4)

让他们publicprotected,你的警告就会消失。

这似乎是一种代码味道,您手动更改它们以运行测试。对每个常量进行单独测试会不会更有意义?如果有很多公共代码,那么你可以有一个基类来扩展。

答案 1 :(得分:1)

最简单的解决方案:将您的常量标记为公开。