我如何处理String包,真实的或伪造的?
我有很多案例互相影响String捆绑,一些法律代码写如下:
//example
private static I18n myInstance = I18n.getInstance().get(Example.class);
如果所有情况一起运行,那么这个字符串包值永远不会重新加载,因为它是静态的,实际上不同的产品有不同的字符串包值,然后导致某些情况失败。
如果不使用真正的字符串,则代码无法运行,因为代码逻辑基于字符串bundle,似乎只有使用真正的字符串捆绑或伪造真实值。
//example
if(isValue(myRB.getString("key")))
{
.....
}
答案 0 :(得分:0)
您可以将I18n
实例注入您正在测试的课程中并在测试中模拟I18n
。
public class YourClass {
private final I18n i18n;
public YourClass(I18n i18n) {
this.i18n = i18n;
}
}