【问题标题】:How to set Date? java.util.Date validFrom - valdiFrom cannot be resolved to a variable [duplicate]如何设置日期? java.util.Date validFrom - valdiFrom 无法解析为变量 [重复]
【发布时间】: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


【解决方案1】:

我想你会是这样的:--

public Class Example{
          // private Date validFrom;
           
       public void setValidFrom (java.util.Date validFrom) {
                    this.validFrom = validFrom;
                }
        }
   

上述代码的junit是:-----

@Test
public void setValidFromTest(){
Example example = new Example();
example.setValidFrom (new Date())
}

如果你的 pojo 中有 getter,那么你可以使用 assertEquals 方法并比较结果。

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多