`
gigix
  • 浏览: 352573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Re: 如何用unit test测试私有方法

阅读更多
重点在于,你不应该有任何方法是从一开始设计出来就是private的,因为你的每段程序都应该在单元测试的驱动之下产生,而测试是不可能驱动出来一个private方法的。那么private方法从哪里来?只能从重构而来。所以答案是:private方法是不需要测试的,因为它是重构的产物,而重构是不改变程序可观察之行为的。既然行为不改变,测试自然也不需要有任何改变,所以不需要针对private方法建立任何新的测试。

但是,如果private方法确实出现问题了怎么办?如果你确实希望用测试来弄清一个private方法里面到底发生了什么,该怎么办?

答案是:如果一个private方法复杂到你不能一眼看清它,那它就太复杂了,你应该把它重构成为一个独立的class,然后针对这个class来建立单元测试。
分享到:
评论

相关推荐

    Learn CakePHP: With Unit Testing, 2nd Edition

    Learn CakePHP: With Unit Testing by Rādhārādhya Dāsa 2016 | ISBN: 1484212134 | English | 114 pages | EPUB | 1 MB Accelerate your development of ...

    学习ruby单元测试小结

    1. **表示单个测试**:Test::Unit允许开发者定义一个个独立的测试方法,每个方法都代表一个特定的测试场景。 2. **组织测试**:通过继承Test::Unit::TestCase类,开发者可以创建自己的测试类,将相关的测试方法聚集...

    使用VectorCAST工具部署Unit test CI环境指导文档.docx

    该文档主要分为五个部分:创建Unit Test工程、测试Regression script、上传Regression script、使用Regression script修改Test case和常见问题汇总。 一、创建Unit Test工程 在创建Unit Test工程时,需要在项目主...

    snmptest测试工具

    了解并熟练使用snmptest这样的SNMP测试工具,对于网络管理员来说至关重要,它可以帮助快速定位网络问题,确保网络设备的稳定运行。在实际操作中,应结合设备的MIB文档和SNMP配置进行测试,以获得最有效的结果。

    Java Unit Test 和 XML 类加载器

    首先,Java Unit Test,也称为单元测试,是软件开发过程中的一种测试方法,用于验证程序代码的各个最小可测试单元(如函数、方法或类)是否按预期工作。在Java中,最常用的单元测试框架是JUnit。JUnit是一个开源的...

    MR Unit test需要的相关jar包

    "MR Unit test需要的相关jar包"指的是为了有效地对MapReduce程序进行单元测试所必需的库文件。这些jar包通常不包括Hadoop运行环境的基础jar包,因为它们专注于测试MapReduce任务本身,而不是整个Hadoop生态系统。...

    Python Unit Test Automation:for Python Developers and Testers

    Python Unit Test Automation will allow you to quickly ramp up your understanding of unit test libraries for Python 3 through the practical use of code examples and exercises. All of which makes this ...

    test-unit-minitest:测试

    对包装好的 Test::Unit 的一些测试实际上使用了真实事物中不可用的 minitest 功能,例如 Rails 4.0 的一些断言。 这是 Ruby 2.1 中 Wrapper 的副本,由 Shota Fukumori 编写。 许可证与 Ruby 的相同。 我不打算...

    UNit_Test单元测试课件

    "UNit_Test单元测试课件"显然是一份详细讲解单元测试的资料,旨在帮助开发者理解和掌握这一关键技能。单元测试是针对软件中的最小可测试单元进行检查和验证,这些单元通常是一个函数、方法或类。它的目标是确保每个...

    java unit test单元测试示例程序

    对于不可控的第三方接口、第三方服务以及不确定性的代码如何进行单元测试用例的编写提供思路。同时对如何编写可测试的程序提供一种思路。同时对如何编写可测试的程序提供一种思路。同时对如何编写可测试的程序提供一...

    mybatis unit test

    标题 "mybatis unit test" 涉及到的是在Java开发中使用MyBatis框架进行单元测试的方法。MyBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接映射到Java代码中,提高了开发效率。在这个主题中,我们将探讨...

    test-unit:测试单位

    test-unit(Test :: Unit)是基于xUnit原理的Ruby单元测试框架。 这些最初是由极限编程软件开发方法的创建者肯特·贝克(Kent Beck)为Smalltalk的SUnit设计的。 它允许在Ruby中编写测试,检查结果和自动测试。特征...

    perl-Test-Unit-Lite:测试

    Test :: Unit :: Lite-无需外部依赖项的单元测试 概要 将作为软件包分发的一部分进行捆绑: perl -MTest::Unit::Lite -e bundle 运行所有测试单元: perl -MTest::Unit::Lite -e all_tests 用作Test :: Unit的...

    The art of unit test

    **标题与描述**:“The art of unit test”(单元测试的艺术)强调了单元测试在软件开发中的重要性及其实践艺术。本书通过丰富的实例深入浅出地介绍了如何进行有效的单元测试。 **知识点:** 1. **单元测试定义**...

    Python Unit Test Automation 无水印pdf 0分

    Python Unit Test Automation Practical Techniques for Python Developers and Testers 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开

    C++ Test实验(动态测试).docx

    在本实验中,我们将重点探讨如何使用Parasoft C++ Test这款强大的静态和动态代码分析工具来进行动态测试。 一、动态测试方法 动态测试的核心在于模拟真实环境下的操作,验证程序在不同条件下的表现。它包括单元测试...

    ruby测试代码

    在编写测试时,通常会创建一个继承自`Test::Unit::TestCase`的类,并在其中定义包含测试方法的类方法。 MiniTest是另一个轻量级的测试框架,它同时包含了单元测试和集成测试的功能。MiniTest::Unit与Test::Unit类似...

Global site tag (gtag.js) - Google Analytics