我有一堆用于测试的常量。 它们看起来像这样:
//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/