cuốn sách gpt4 ai đã làm

unit-testing - TDD 功能测试

In lại Tác giả: Walker 123 更新时间:2023-11-28 20:17:40 29 4
mua khóa gpt4 Nike

我应该为所有嵌套方法编写单元测试,还是为调用者编写一个测试就足够了?

Ví dụ:

void Main()
{
var x = new A().AFoo();
}

public class A
{
public int AFoo()
{
// some logic
var x = new B().BFoo();

// might have some logic

trả lại x;
}
}

public class B
{
public int BFoo()
{
// some logic
return ???;
}
}

是否足以为 Main() 方法编写单元测试,或者我需要为 Main、A.AFoo()、B.BFoo() 方法编写测试?我应该去多深?

Cảm ơn trước.

câu trả lời hay nhất

测试纯粹主义者会说您需要为类 MỘTB 创建单元测试。

每个类都应该测试所有方法。如果一个方法可以做不止一件事(例如,如果你有一个 if 语句),那么你应该对每条路径进行测试。如果测试变得过于复杂,重构代码以使测试更简单可能是个好主意。

请注意,就目前而言,很难单独测试 MỘT,因为它依赖于 B。如果 B 很简单,就像现在这样,它可能没问题。您可能希望将测试命名为 MỘT 集成测试,因为从技术上讲,它们同时测试 MỘTB。另一种选择是让方法 AFoo 接受它在其上运行的 B 的实例作为参数。这样您就可以模拟 B 的实例并进行真正的单元测试。

关于unit-testing - TDD 功能测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7759067/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress