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

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

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

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

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

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

相关·内容

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

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

51030

如何使用Python进行单元测试

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

2.7K20

单元测试之道

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

83260

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

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

11110

测试思想 测试术语定义

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

45430

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

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

8310

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

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

2.5K10

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

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

46540

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

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

37710

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

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

55710

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

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

15730

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

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

1.6K80

.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.5K10

abstract virtaul override new 及多态

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

74330

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

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

1.7K30

Python错误处理方法

异常捕获与处理 什么是错误 简而言之:还没运行,在语法解析时候,就发现语法存在问题,这个时候就是错误。...="") 这样一旦运行时发生异常,程序会自动帮你关闭文件,避免整个程序奔溃 自定义异常与异常抛出 虽然python中提供了非常多内置异常,但是,在平时开发,针对特定业务,可能需要自定义异常,...raise 单元测试 什么是单元测试 单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计最小单位)来进行正确性检验测试工作。...程序单元是应用最小可测试部件。在过程化编程,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括(超)、抽象、或者派生类(子类)方法。...MyTest() self.assertEqual(s.my_add(1,5),6) if __name__ == "__main__": unittest.main() 以上就是Python错误处理方法详细内容

79221

用Python进行单元测试

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

3.2K20

go测试

单元测试 以下是来自wiki对于单元测试定义 在计算机编程单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计最小单位)来进行正确性检验测试工作。...程序单元是应用最小可测试部件。在过程化编程,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括(超)、抽象、或者派生类(子类)方法。...通常来说,程序员每修改一次程序就会进行最少一次单元测试,在编写程序过程前后很可能要进行多次单元测试,以证实程序达到软件规格书要求工作目标,没有程序错误;虽然单元测试不是必须,但也不坏,这牵涉到项目管理政策决定...简单来说,单元测试就是程序员自己对于自己代码进行测试,而一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括(超)、抽象、或者派生类(子类)方法。...Split函数,并进行单元测试,然后我们在剖析代码。

32330
领券