gpt4 book ai didi

java - 在单元测试中使用多个验证语句是否有值(value)?

转载 作者:行者123 更新时间:2023-12-02 03:05:54 25 4
gpt4 key购买 nike

在测试特定功能时是否有任何理由需要多个验证语句 - 即。验证是否调用了多个/或没有调用依赖方法?

例如:

public void doSomething(int size){
if(size < 50){
return;
}
someService.someMethod();
anotherService.someMethod();
}

测试此方法

@Test
public void testDoSomethingWithSmallSize() throws Exception{
testObj.doSomething(5);
verify(someServiceMock, never()).someMethod();

//IS THERE ANY VALUE TO VERFIYING MORE THAN ONE CALL?
//LIKE THIS??
verfiy(anotherServiceMock, never()).someMethod();
}

拥有第二个验证语句是否有值(value),或者是否没有必要,因为如果第一个语句没有被调用,第二个语句也不会被调用?

最佳答案

您应该验证这 2 个语句,因为您的代码可能会更改。

单元测试是代码的某种文档。

  • 验证这两个语句意味着不得调用这两个语句。
  • 仅验证一个意味着不得仅调用第一个语句。

如果有人更改了在 if 语句内调用 anotherService.someMethod() 的方法,您的测试仍会通过 1 次验证,但会因 2 次验证而失败。

关于java - 在单元测试中使用多个验证语句是否有值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com