我有一段代码在工作中挣扎,我真的很想了解更多关于如何克服这类问题的信息。
public class SomeTestableClass {
@Inject(optional = true)
@Named("balance.period.tm")
protected String balance;
public void save(Connection connection, Report r) throws Exception {
if ( 1 == 1 ) {
someObject.someMethod(param1, param2, balance) {
// do something, etc...
}
}
}
}
由于我不允许在这里发布任何业务代码,但我对我面临的问题有一个粗略的想法。对不起,如果它以任何方式有点混乱,我仍然很绿色。因此,有一个"字符串平衡"从一个属性文件中获取值。
当代码到达someObject.someMethod()时,我得到一个nullpoint异常,因为"balance"是null的。我正在尝试将相同的方法与 verify() 一起使用。
在测试时,我怎么可能将值传递给它,或者我怎样才能解决这个问题。
干杯。
您通常会为该属性提供一个setBalance(String val)
资源库,但如果没有,如果测试在同一包名称下运行,您仍然可以直接从测试访问"受保护"属性。
SomeTestableClass testable=new SomeTestableClass();
testable.balance="123.45";