首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# 单元测试 - 您是否应该对基类中处理的派生类中的某些内容进行单元测试?

在C#单元测试中,是否应该对基类中处理的派生类中的某些内容进行单元测试,取决于具体情况。以下是一些建议:

  1. 基类中的方法是否需要测试:如果基类中的方法是通用的,并且已经经过了充分的测试,那么可能不需要再次进行单元测试。但是,如果基类中的方法是特定于派生类的,那么可能需要进行单元测试。
  2. 派生类中的方法是否需要测试:如果派生类中的方法是通用的,并且已经经过了充分的测试,那么可能不需要再次进行单元测试。但是,如果派生类中的方法是特定于派生类的,那么可能需要进行单元测试。
  3. 派生类中的属性是否需要测试:如果派生类中的属性是通用的,并且已经经过了充分的测试,那么可能不需要再次进行单元测试。但是,如果派生类中的属性是特定于派生类的,那么可能需要进行单元测试。
  4. 派生类中的事件是否需要测试:如果派生类中的事件是通用的,并且已经经过了充分的测试,那么可能不需要再次进行单元测试。但是,如果派生类中的事件是特定于派生类的,那么可能需要进行单元测试。

总之,在C#单元测试中,是否应该对基类中处理的派生类中的某些内容进行单元测试,取决于具体情况。如果派生类中的方法、属性、事件等是特定于派生类的,那么可能需要进行单元测试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET单元测试的艺术-3.测试代码

,基类包含了抽象的测试方法,派生类必须实现这些抽象方法。   ...当然,只是大部分的测试代码在基类中,派生类也可以加入自己的特殊测试。   此模式的要点在于:你不是具体地测试一个类,而是测试产品代码中的一个接口或者基类。   ...(3)只测试一个关注点   如果我们的单元测试对多个对象进行了断言,那么这个测试有可能测试了多个关注点。在一个单元测试中验证多个关注点会使得事情变得复杂,却没有什么价值。...; 把集成测试和单元测试分开,为整个团队构建一个绿色安全区,该区域中所有的测试都必须通过; 按照项目和类型组织测试,把测试分别放在不同的目录、文件夹或者命名空间中; 使用测试类层次,对一个层次中相关的几个类进行同一组测试...,或者对共享一个通用接口或者基类的类型进行同一组测试; 优秀单元测试具有三大支柱:可读性、可维护性与可靠性,它们相辅相成。

54330
  • 掌握 C#:每个开发人员都必须知道的 20 个关键词

    在这篇文章中,我们将探讨每个开发人员都应该知道的 20 个基本 C# 关键字 — 从 到 、 和 等更高级的关键字。每个关键字都有其独特的功能和值,可帮助您管理内存、处理异步操作和有效地构建代码库。...4. this this引用类的当前实例,有助于清晰或避免命名冲突。 5. new new可以从基类中隐藏继承的成员或创建新实例。 6. is is检查对象是否为指定类型,并尝试安全类型转换。...await 13. virtual virtual允许在派生类中重写方法。 14. override override修改派生类中的基类方法。...15. abstract abstract定义必须在派生类中实现的类或方法。 16. sealed sealed防止类被继承。 17. base base从派生类访问基类的成员。...这 20 个关键字是每个开发人员工具包中必不可少的工具,使您能够处理从基本语法和变量管理到更复杂的任务(如异步编程和内存管理)的所有内容。

    13100

    单元测试之道

    所以诸如TDD(测试驱动开发)的项目开发方式,都提倡一个核心道理:单元测试应该早做,多做,这样既避免了过度设计,对有效编码,项目依赖解耦也有好处。...在面向对象编程中,最小单元就是方法,包括基类、抽象类、或者派生类(子类)中的方法。按照通俗的理解,一个单元测试判断某个特定场条件下某个特定方法的行为,如斐波那契数列算法,冒泡排序算法。...在这个过程中,开发者的编码能力和对业务的理解能力也将得到锻炼 2.3 什么时候决定进行单元测试(WHEN) 早。——鲁迅 单元测试这东西,就跟戒烟一样。...2.4 怎么进行有效的单元测试(HOW) 单元测试最终呈现出来的效果还是一个或多个测试方法而已,编写这些测试方法时,应该注意以下原则 Arrange 用于初始化一些被测试方法需要的参数或依赖的对象。...Assert 用于验证测试方法是否按期望执行或者结果是否符合期望值 在这之前,我们当然需要区分出应用程序的每个基本单元,这里有个讨巧的方法,就是对项目依赖进行自底而上的遍历即可,我们并不需要多在意单元测试和集成测试的依赖关系

    88260

    如何使用Python进行单元测试

    前言 在我的日常工作中,我是一名专业程序员。我使用c++、c#和Javascript。我是一个开发团队的一员,他们使用单元测试来验证我们的代码是否按照它应该的方式工作。...TestCase基类的设置在每个测试用例之前执行。 另一个方法tearDown是在每个单元测试执行之后调用的。你可以用它来清理或关闭资源。 测试夹具 方法的设置和拆卸是测试夹具的一部分。...它就像一个总结考试内容的标题。如果测试失败,你首先看到的就是它。因此,名称应该清楚地表明哪些功能不起作用。 测试用例名称的列表应该读起来像摘要或场景列表。这有助于读者理解被测单元的行为。...原因是,当断言失败时,测试用例的执行就会停止。因此,您永远不会知道测试用例中的下一个断言是否成功。 使用pytest进行单元测试 在上一节中,我们使用了unittest模块。...其次,您不需要实现一个类并从基类派生。最后,您可以使用标准的Python assert方法来代替自定义的方法。

    2.8K20

    C# .NET面试系列二:面向对象

    然而,派生类可以调用基类的构造函数,并可以在派生类的构造函数中通过 base 关键字调用基类的构造函数,实现对基类构造函数的间接调用。...{ public DerivedClass() : base() { // 派生类构造函数,调用基类构造函数 }}尽管构造函数不能被直接重写,但通过调用基类构造函数,可以在派生类的构造函数中对基类进行初始化...重写(Override):重写指的是在派生类中实现一个与基类中的虚方法(使用 virtual 关键字声明的方法)具有相同签名的方法。重写允许派生类提供自己的实现,覆盖基类中的虚方法。...,并且在派生类中希望提供对基类中虚方法的新实现时,可以使用重写。...使用重写时,关注的是基类和派生类之间的关系,派生类提供对基类中虚方法的新实现。

    25610

    测试思想 测试术语定义

    在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法,但可以用一个测试类来组织某个类的所有测试函数 2、 测试单元是测试的最小单位...说明: 1、 通常来说,程序员每修改一次程序就会进行最少一次单元测试,在编写程序的过程中前后很可能要进行多次单元测试; 2、 虽然单元测试不是什么必须的,但也不坏,这牵涉到项目管理的政策决定...集成测试 定义 集成测试(也叫组装测试,联合测试)对所有的软件单元按照系统设计说明书(也叫软件概要设计规格说明书)的要求组装成的模块、子系统或系统进行的测试,检验其功能是否达到或实现了响应技术指标及要求...说明: 1、 系统测试的对象对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。...为了验证修改的正确性及其影响就需要进行回归测试。 冒烟测试 定义 冒烟测试(也叫提交测试),正式测试前对软件主业务流程和主功能进行验证与确认,确保后续测试能正常进行的测试。

    49530

    TypeScript 官方手册翻译计划【十二】:类

    ,派生类会遵循基类的约束。...根据 JavaScript 的定义,类初始化的顺序是: 初始化基类的字段 执行基类的构造器 初始化派生类的字段 执行派生类的构造器 这意味着,因为基类构造器执行的时候派生类的字段尚未进行初始化,所以基类构造器只能看到自己的...公开受保护成员 派生类需要遵循其基类的约束,但可以选择公开具有更多功能的基类的子类。...而且,如果通过 Derived1 引用访问 x 就已经是不合法的了(这确实应该是不合法的!),那么通过基类引用访问它也同样应该是不合法的。...因此,在进行诸如单元测试这样的操作时,访问私有字段会比较容易,但缺点就是这些字段是“弱私有的”,无法保证严格意义上的私有性。

    2.6K10

    C#中一些好用但不为人知的特性

    无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容,共同助力DevOps的成功落地。...以下将详细介绍C#中一些好用但不为人知的特性,帮助你更好地利用C#进行开发。...单元测试框架(Unit Testing Framework) C#内置了一个强大的单元测试框架,使你能够编写和运行测试用例来验证代码的正确性。...属性(Properties) 在C#中,属性提供了一种定义和实现字段访问器的方式,可以控制对字段的访问。...匿名方法使得代码更加简洁,特别是在处理简单的回调函数时。 10. 特性(Attributes) 特性在C#中是一种强大的元数据标记机制,它可以用来注解代码并提供额外的信息。

    12510

    2019-05-15 7个对初学者非常有用调试和故障排除技巧

    你不能只是进入并离开,而是从分析角度和逻辑方法中攻击故障而不是涉及情绪。 2.阐明调试的定义 你怎么理解'调试'?对你来说什么是调试?您是否还考虑仅使用调试器进行调试,就是这样?...调试器是一个很棒的工具,可以帮助您处理各种代码,但它不应该是您的第一手段。没有调试器的帮助,可以解决许多错误。...浏览源代码以查看有关系统如何工作的更多线索。你应该能够提出一些你可以测试的好假设。 6.测试你的假设 暂时不要使用调试器。在此步骤中,您需要进行单元测试。...尝试编写一个单元测试来证明你可以利用这个问题的假设。如果你是对的,并确定了问题,你可以修复它。现在,您已经进行了单元测试以验证修复并确保它不会再次出现。尝试再次重现实际的错误,以确保它完全修复。...检查您的假设的最好方法是进行单元测试。是的,更多单元测试。编写特定的单元测试,检查在您尝试调试的问题的工作流程中“必须可操作”的明显事物。设置单元测试就像攀爬一座山并在攀爬时钉住锚。

    48640

    《代码整洁之道》笔记(7-9章节)

    特例模式:创建一个类或者配置一个对象,用来处理特例。 别返回null值 多处调用者需要做判空处理,这些是可以封装到被调用的方法里。例如:没有查询到数据时,就返回空列表。...整洁的测试 在单元测试中,可读性甚至比在生产代码中还重要。 测试方法中不要违背单一职责原则。构建数据,执行测试目标方法,校验结果,这些该抽取就抽取,要让测试代码易读。 权衡优雅和性能。...每个测试一个断言 这样会造成重复代码,可通过模板模式来解决,共性放在基类,特性放到派生类。还可以单独一个测试类,共性放到@Before里。 视情况而定,没有绝对的规定,需要权衡,把握那个度。...单元测试中的断言数量应该最小化。 每个测试一个概念,符合单一职责原则,使其在一个抽象层面。 FIRST Fast:快速,测试应该快速运行。...Independent:独立,测试应该相互独立,不因有依赖关系。 Repeatable:可重复。 Self-Validating:自足验证,测试可以自己检查是否通过,不应依靠他人。

    41710

    合格的后端Coder都应该写好UT和Mock测试

    2 啥是 UT 单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。...在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。...Assertion 只能保证走过的分支的结果是否正确,无法保证一定是走过了某些分支。...我的看法是私有方法如果逻辑很多,应该重构出来提供 public 方法或者新的 Class 进行重构;如果逻辑不多仍然保证不了无 bug ,可以使用反射来测试。...里 5.测试类而不是实现 单元测试测试的对象是类,测试类的功能在各种情况下是否符合预期,而不是测试实现。

    71510

    改善 C# 程序的157个建议(部分)

    派生类使用基类名字做后缀 XxxException : Exception XxxAttribute : Attribute XxxEventArgs : EventArgs 8....使用默认的访问修饰符 不是很赞同。 原因:添加默认的修饰符,如 internal class,是在显式声明这个类不应该被变成 public 的, 而不是忘记添加访问修饰符了。...方法的抽象级别应在同一层级 坏: public void Init(){ // xxx RemoteInit();} 这个例子中,Init 方法先进行了部分初始化工作,然后调用 RemoteInit...如一个 Person 类中,有地址,邮编,邮箱,电话,手机号等等属性,就应该考虑将其抽象为联系方式一个类。 9. 不重复代码 [+] 10....一个迭代提供一个完成的用户故事的实现,交付给客户(真实客户,或者测试部门,运营等。) [+++] 2. 单元测试 TDD 使用单元测试框架 3. 利用特性为应用程序提供多个版本 e.g.

    8710

    .NET、C#基础知识

    您的应用程序仅期待匿名用户,否则它将提供自己的身份验证。 在c#中object类: 1、类Object是 .NET Framework 中所有类、结构、枚举和委托的最终基类。...3、因为 .NET Framework 中的所有类均从 Object 派生,所以 Object 类中定义的每个方法可用于系统中的所有对象。 派生类也可以重写这些方法中的某些。...sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。...注意如果派生类的方法和基类的方法同名则基类中的方法将会被隐藏如果需要隐藏则可以使用关键字new来隐藏如果不写new关键字默认处理为隐藏虽然基类中同名的方法被隐藏了但是还是可以通过base关键字来调用...在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员 不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用基类的Finalize()方法 DateTime是否可以为null

    1.6K10

    C# 学习笔记(4)—— C# 中的面向对象编程

    C# 是面向对象语言,所有面向对象语言都有三个特征 封装 封装指的是把类内部的数据隐藏起来,不让对象实例直接对其操作。C# 中提供了属性机制来对类内部的状态进行操作。...客户端可以通过异常捕获来进行错误处理 继承 在 C# 中,一个类可以继承另一个已有的类(密封类除外),被继承的类成为基类(父类),继承的类称为派生类(子类),子类将获得基类除构造函数和析构函数以外的所有成员...C# 中的继承 C# 与 C++ 不同,C# 仅支持派生于一个基类,而 C++ 则支持多重继承。...,然后在子类中使用override关键字对基类方法进行重写。...也了解了所有类的父类System.Object 面向对象的内容是后期学习设计模式和企业系统开发的基础,当然,我们也应该去了解一下面向过程,了解两者的区别

    21930

    ABP入门系列(11)——编写单元测试

    在电脑编程中,单元测试是一种软件测试方法。通过该方法来测试代码的单个单元、一个或多个计算机程序模块的集合以及相关联的控制数据、使用过程和操作过程,以确定它们是否适合使用。...但是进行单元测试的测试数据不应该污染实体数据库,所以直接在SeedData目录预置数据就不太现实。...为了提高单元测试的覆盖度,我们应该针对代码可能出现的异常问题进行测试。 还拿我们刚刚的CreateTask方法为例,其中第二步有一个验证权限操作,当用户没有权限的时候,Task应该不能创建并抛出异常。...总结 这篇文章中主要梳理了Abp中如何进行单元测试,以及依赖的xUnit、Effort、Shouldly框架的用法。并基于以上内容的总结,进行了单元测试的实战演练。...相信看完此篇文章的总结,对你在Abp中进行单元测试,有所裨益。 阅罢此文,如果您觉得本文不错并有所收获,请【打赏】或【推荐】,也可【评论】留下您的问题或建议与我交流。

    1.7K80

    【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则

    对引用类型来讲,索然可以正常工作,但是效率很低。对值类型来讲,基类中的实现有时甚至不正确。而且,编写的自己GetHashCode( )也不可能既有效率又正确。...而抽象基类可以为派生类提供一些具体的实现。 3)基类描述并实现了一组相关类型间共用的行为。接口则定义了一组具有原子性的功能,供其他不相关的具体类型来实现。...1)接口中声明的成员方法默认情况下并非虚方法,所以,派生类不能覆写基类中实现的非虚接口成员。若要覆写的话,将接口方法声明为virtual即可。...2)基类可以为接口中的方法提供默认的实现,随后,派生类也可以声明其实现了该接口,并从基类中继承该实现。 3)实现接口拥有的选择要比创建和覆写虚方法多。...PS: 此原则对应于《Effective C# Second Edition》中原则26。 原则21 仅用new修饰符处理基类更新 ● 使用new操作符修饰类成员可以重新定义继承自基类的非虚成员。

    1.8K30

    abstract virtaul override new 及多态

    通过包括使用 override 修饰符的属性声明,可在派生类中重写虚拟继承属性。 派生类 在 C# 中,派生类可以包含与基类方法同名的方法。 基类方法必须定义为 virtual。...如果派生类中的方法前面带有 new 关键字,则该方法被定义为独立于基类中的方法。(使用 new 关键字可告诉编译器您的定义将隐藏基类中包含的定义。这是默认行为。)...override、virtual 和 new 关键字还可以用于属性、索引器和事件中。 在 C# 中,派生类中方法的名称可与基类中方法的名称相同。...New关键字主要用来区别派生类和基类同名方法的选择问题,通过隐藏基类方法,达到使编译器调用正确的方法的目的。Override主要用来对基类的方  法和虚方法进行重写。...由于密封类从不用作基类,所以有些运行时优化可以使对密封类成员的调用略快。 在对基类的虚成员进行重写的派生类上的类成员、方法、字段、属性或事件可以将该成员声明为密封成员。

    78630

    用Python进行单元测试

    程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法 。...用Python进行单元测试 Python中的单元测试,就是编写一个测试函数,在其中执行一小段应用程序,检验代码是否正确,如果有问题,会抛出异常。...如果是一个大型项目,更应该有条不紊地进行单元测试,常见的一种方法把测试用的.py文件放到名为tests的目录中,从而与应用程序的代码分开。...为了能准确定位到失败的位置,pytest会显示源码,并标记断言位置和实际的执行结果。此外,还自动输出测试内容。例如,上面的测试报告中显示,对3和4两个数字进行了测试,当测试4的时候失败。...如果不进行此参数设置,会在最终的测试报告中输出很多内容,包括但不限于Python标准库、第三方库等内容的测试,从而呈现在眼前的是一个令人眼花缭乱的报告。

    3.2K20
    领券