gpt4 book ai didi

c# - 如何用一个入口点对一个类进行单元测试?

转载 作者:太空狗 更新时间:2023-10-29 23:11:02 24 4
gpt4 key购买 nike

所以我正在寻找一些关于如何测试我编写的类的建议。

它有意包含一个公共(public)方法 Run(),它接受变量和一组长时间运行的进程。此方法包含对执行特定任务但不应公开访问的私有(private)方法的大量调用。

我的查询是,在这种情况下,对我的所有私有(private)方法进行单元测试似乎合乎逻辑。然而,很多人认为测试私有(private)方法是一种不好的做法。

所以我的问题是我应该继续测试私有(private)方法,还是有人遇到过类似情况并且可以建议替代方法?我绝对无法通过一个公共(public)方法可靠地测试所有私有(private)方法。

如果我的问题不是很清楚,请提供任何帮助,我们深表歉意。如果有任何帮助,该应用程序是用 C# 编写的。

谢谢

最佳答案

就我个人而言,我对这类事情采取务实的观点 - 可以将单元测试设为“白盒”测试(即您可以考虑实现细节并对其进行测试),但不要走得太远他们最终变得非常脆弱的路线。

我会将私有(private)方法设为内部并通过 InternalsVisibleTo 测试它们。还可以仅通过 Run 方法运行一些“黑盒”测试...听起来这些实际上是集成测试,而不是单元 测试。

要考虑的另一件事是这是否真的应该是一个类。任务可以分开吗?它们本身作为单独的类是否有意义,当前类只是协调它们?

关于c# - 如何用一个入口点对一个类进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4376309/

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