**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
四天前关门了。
改进这个问题
我编写了一个更新对象时间戳的方法。它工作正常,值按预期方式更新。但是,我不能让单元测试工作。
cake有一个值inspectiondate,它用对象第一次创建时的时间戳初始化。
这是我的方法:
public static void updateInspectionDate(Cake cakeToBeUpdated){
cakeToBeUpdated.setInspectDate(new Date(System.currentTimeMillis()));
}
这是我的测试(尝试了几种测试方法,这是我的当前版本),obejct已经在测试类中创建:
@Test
void updateInspectionDateTest(Cake apple) throws InterruptedException {
Calendar newInspectionDate = Calendar.getInstance(); //create new date that`s current inspection date + 5 seconds
newInspectionDate.setTime(apple.getInspectiondate());
newInspectionDate.add(Calendar.SECOND, 5);
TimeUnit.SECONDS.sleep(5); //wait 5 seconds
updateInspectionDate(apple); //inspection date of apple will be updated to 5 seconds after it was inserted
assertEquals( newInspectionDate.getTime(), apple.getInspectiondate());
}
这就是我得到的错误:
org.junit.jupiter.api.extension.parameterresolutionexception:没有为方法[void caketest.updateinspectiondate(cake)throws java.lang.interruptedexception]中的参数[cake arg0]注册parameterresolver。
那么到底出了什么问题,如何解决这个问题呢?
1条答案
按热度按时间lf3rwulv1#
您已经创建了一个带有参数的测试方法。通常,测试没有参数。仅当它们由参数化运行执行时(对多个值运行相同的方法)。
你的测试方法应该是
void updateInspectionDateTest()
. 但是请考虑一个更有意义的名字,而不是它应该测试的那个名字。