【发布时间】:2020-11-14 11:35:08
【问题描述】:
我有以下公共 void 方法:
public void setValidFrom (java.util.Date validFrom) {
_validFrom = validFrom;
}
我尝试运行 JUnit 测试,我需要使用以下方法设置日期:
@Test
public void testSomething
try {
Object.setValidFrom(validFrom); //Error: validFrom cannot be resolved to a variable
}
如何在此测试用例中为validFrom 设置日期?
我试图在测试用例本身中定义一个变量,但我认为这不是正确的方法。 这是我的方法:
java.util.Date validFrom = new java.util.Date();
我的 JUnit 得到了 NullPointerException。
【问题讨论】:
-
那么您希望将什么值 do 传递给该方法? (你真的给你的班级打电话
Object吗?我强烈建议你使用一个与java.lang中的任何内容都不冲突的名字。) -
感谢您的回答!不,我没有称它为
Object,很抱歉造成混淆。我想,我可以在这里使用方法setValidFrom设置一个日期,例如(2020 年 1 月 31 日)。 -
那么您认为该值 (2020, 1, 31) 来自哪里?您需要将一个值传递给该方法 - 编译器不会只是为您创建一个值。您需要在某处指定它。
-
不,你是在调用方法。该方法有一个参数,因此您必须为该参数指定一个参数。您希望参数具有什么值?传递该值。
-
“但为什么 3920 年是 7 月?” - 阅读您正在调用的构造函数的文档。 “你需要什么信息来回答我的问题?”好吧,minimal reproducible example 将是一个好的开始,以及您所说的“它似乎不正确”的确切含义。 (如果你去看医生,你不会指望他们仅仅通过说“我感觉不舒服”但没有更多信息就能诊断出你,对吗?)
标签: java error-handling