.net - 非公开方法的单元测试和测试驱动开发

标签 .net unit-testing testing mstest

我是 TDD 概念的新手,刚刚开始掌握为我的应用程序的公共(public)接口(interface)编写好的单元测试的窍门。

目前,我正在开发一个类库,其中公共(public)接口(interface)相对较小,但在幕后的类中存在大量复杂性。此功能在内部范围的类和方法中实现,因此不可用于单元测试。我不想公开这些类和方法,因为它们不应该对消费应用程序可用,但我觉得如果不编写更具体的测试用例,我无法充分测试应用程序的所有功能。

有人可以向我解释如何完成此类测试吗?或者我的方法有什么问题,我可以更改以促进更好的测试。

顺便说一句,我在 C# .NET 环境中工作,但我认为我的问题也适用于 Java 或任何其他平台。

最佳答案

由于您使用的是 dotnet,因此您可以将其他类设为 dll-internal 并使用 internalsvisibleto业务类中的属性以允许 unittest-dll 访问它们。

关于.net - 非公开方法的单元测试和测试驱动开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674922/

相关文章:

java - 同时测试有异常和无异常的代码(JAVA)

c# - 这个日期可以自动转换吗?

C# WPF 使工具栏在工具栏托盘内右对齐

unit-testing - 如何从默认 "maven test"和 eclipse "run as junit test"中排除特定的单元测试

python - 如何在 flask 项目中运行单元测试?

selenium - 自动关闭 Apple id 验证弹出窗口

c# - WCF 单一联系点

.net - 我如何让 WebAPI 拒绝带有无效负载的请求?

ruby-on-rails - 如何使用 Rspec 测试 Controller - #show action

unit-testing - 如何使用 ctest 重新运行失败的测试?