gpt4 book ai didi

tdd - 后置条件和 TDD

转载 作者:行者123 更新时间:2023-12-03 22:40:44 28 4
gpt4 key购买 nike

我团队中的一位同事说,某些方法应该同时具有前提条件和后置条件。但重点是代码覆盖率,这些条件不会被调用(未测试),直到实现了无效的实现(仅在单元测试中使用)。让我们看下面的例子。

public interface ICalculator
{
int Calculate(int x, int y);
}


public int GetSummary(int x, int y)
{
// preconditions

var result = calculator.Calculate(x, y);

// postconditions

if (result < 0)
{
**throw new Exception("...");**
}

return result;
}

我们有两个选择:

1/删除测试实现+后置条件

2/保留测试实现+后置条件

您能给点建议吗?

最佳答案

保留前置条件和后置条件。

这里至少需要四项测试:(前、后)x(通过、失败)的组合。如果抛出预期的异常,则失败的后置条件测试将通过。

使用 JUnit 的 @Test(expected = Exception.class) 注释可以轻松实现这一点。

要小心那些发表诸如“X 必须始终为真”之类笼统声明的同事。应避免一切形式的教条。了解做事的原因,并在有意义的时候去做。

关于tdd - 后置条件和 TDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30236032/

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