我来自JavaEE世界,但现在我正在开发一个.Net项目.在Java中,当我想测试一个受保护的方法时,这非常简单,只需让测试类具有相同的包名就足够了.

C#有没有类似的东西?对受保护的方法进行单元测试有什么好的实践吗?我只发现框架和人们说我应该只测试公共方法.

应该可以在没有任何框架的情况下完成…

推荐答案

您可以在测试类上继承要测试的类.

[TestClass]
public class Test1 : SomeClass
{
    [TestMethod]
    public void MyTest
    {
        Assert.AreEqual(1, ProtectedMethod());
    }

}

.net相关问答推荐

dotnet 8 web api在部署到docker后无法工作

如何在PowerShell中隐藏任务延迟输出?

使用React路由加载器获取数据不能正常工作

从窗体中移除另一个控件中引用的控件时获取设计时通知

竖线在 PropertyGroup .csproj 文件中的含义

使用 PowerShell 从文件夹中获取文件名的最快\最好的方法是什么?

MongoDB GridFs with C#,如何存储图片等文件?

将日期时间转换为日期格式 dd/mm/yyyy

AutoMapper 的替代品

mstest.exe 在哪里?

运算符重载 ==, !=, Equals

如何将 UI Dispatcher 传递给 ViewModel

C# 方法可以定义为采用的最大参数数是多少?

C# 的 Actors 有什么好的实现吗?

在 .NET Core RC2 中构建 .exe 文件

如何制作通用类型转换函数

是否有 Linq 方法可以将单个项目添加到 IEnumerable

Dispatcher.CurrentDispatcher 与 Application.Current.Dispatcher

什么是 .NET 应用程序域?

ADO.NET Entity Framework:更新向导不会添加表